Modify an Existing Type

If you need to change a type after writing robots using variables of that type, be cautious. Your robots might stop working if you do something wrong.

You should take care when performing any of the following changes to a type that is already used by variables in existing robots; otherwise, you cannot use those variables (however, the robots may still be loaded without the variables):

  • Change the name of a type.
  • Delete a type.
  • Remove or rename an attribute in a type if, in a robot, one or more variables of that type have assigned values different from the default for that attribute.
  • Change the attribute type of an attribute if, in a robot, one or more variables of that type have assigned values that are not compatible with the new attribute type.

If your robot is open while you make any of the preceding changes, you see a red status bar at the top of the Robot Editor with a text explaining the problem. The status bar also contains a button that you can click to reload the robot with the compromising variables removed. You can also solve the problems by making the appropriate changes to your types. If you do this, you can return to your robot and continue working.

The following changes to a type can be automatically carried over to robots without having to remove any variables of that type (you may have to reload), but some errors might be generated when the robots are executed (you can subsequently fix the errors):

  • Change the name of an attribute.
  • Change the Required property of an attribute from false to true.
  • Add a new attribute that has the Required property set to true.
  • Delete or rename an attribute that is assigned a value in a variable.
  • Change the attribute type of an attribute that is assigned a value in a variable.

You can always make the following changes, without affecting existing robots:

  • Change the Required property of an attribute from true to false.
  • Change a comment (no matter where).
  • Add a new attribute that has the Required property set to false.