An Object variable can contain a COM object, stored in a 32-bit (4-byte) address and can have any valid object reference assigned to it. The default value is Nothing.
Early binding versus late binding: A variable of type "Object" is called late bound. Since it can contain any COM object, at run time ATEasy will have to perform validity checks to resolve the type, properties, methods, etc. If an Object variable is "declared" with a specific class, then only objects of that class can be assigned to the variable. The parser can verify if the attempted use is valid for that class, for example, the referenced member (property or method) exists. This is called early binding.
As examples of early and late binding, say you declare a variable with a Name of "ob1" and use a Type of "Object". It will be a late bound object variable. If you declare another variable with a Name of "ob2" and you enter a Type of "AMenu", since AMenu is a known class object, it will be an early bound object variable.
Note: ATEasy provides a way at design time to tell if you have correctly typed in the name of a user-defined Type and/or if the intended type has been defined. If in the Type field you enter a type in all one case (all lowercase or all uppercase, for example, "amenu" or "AMENU") and press the Return key, ATEasy will attempt to find that type. If it finds it, it will replace the type with the official name in mixed case, for example, "AMenu". If ATEasy does not find it, it will leave the field as it was typed. This is a hint to you as a programmer that you have an undeclared type. You can still proceed to write more code and worry about it later. But any time you parse that variable (for example, use any of the Run commands, such as CheckIt!, DoIt!, etc.), ATEasy will generate an error message ("Unresolved type"). At that point, you need to specify a known object type.
Using the Object Data Type, Basic Data Types, Data Conversion, Numeric, Strings, User Defined Date Types