A COM object property is a value that defines the visible, functional, and other characteristics of a COM object (ActiveX Automation object or ActiveX control). An ActiveX control property is classified as a design-time or run-time property depending on when you can change it. A design-time property can be changed using the Properties Window of the AppBuilder. A run-time property can be changed from ABL at run time. Generally, you can read both design-time and run-time properties at run time. In all other respects, COM object properties are functionally analogous to handle attributes.
A COM object method is a specialized function associated with a COM object that performs an action on the COM object or alters the behavior of the COM object. COM object methods may or may not return a value and may or may not require parameters. A return value may be a component handle to another COM object; however, many methods return other types of information or no information at all. Like handle methods, you execute COM object methods by calling them directly as statements rather than as part of an expression. In all other respects, COM object methods are functionally analogous to handle methods.
Com-Handle-Var :COMProperty [ AS Data-type ] = expression [ NO-ERROR ]
|
Com-Handle-Var is any COM-HANDLE variable set to the handle of an instantiated COM object.
COMProperty is a COM object property access (see the
“COMProperty” section).
Data-type is any supported COM data type (see the
“Data-type” section) that is compatible with
expression. The
expression is any combination of ABL elements that results in a single value. NO-ERROR allows the application to handle any ABL ERROR conditions raised by the statement.
[ { field | COMProperty } = ] Com-Handle-Var :COMProperty [ NO-ERROR ]
|
A field is any ABL variable, database field, class-based data member or property, or handle attribute of a compatible data type.
COMProperty is a COM object property access (see the
“COMProperty” section).
Com-Handle-Var is any COM-HANDLE variable set to the handle of an instantiated COM object. NO-ERROR allows the application to handle any ABL ERROR conditions raised by the statement.
[ { field | COMProperty } = | NO-RETURN-VALUE ] Com-Handle-Var :COMMethod [ NO-ERROR ]
|
A field is any ABL variable, database field, class-based data member or property, or handle attribute of a compatible data type.
COMProperty is a COM object property access (see the
“COMProperty” section). NO-RETURN-VALUE indicates that you are invoking the COM object method directly, as a statement, without returning its value.
Com-Handle-Var is any COM-HANDLE variable set to the handle of an instantiated COM object.
COMMethod is a COM object method access (see the
“COMMethod” section section). NO-ERROR allows the application to handle any ABL ERROR conditions raised by the statement.
[ { COMProperty | COMMethod } : ] ... Property-Name [ ( index [ , index ] ... ) ]
|
Property-Name is the name of the accessed property. The optional multi-level
index is an integer expression as required by the property. You must not follow the colon separator by a space.
Any COMProperty or
COMMethod that precedes the final
Property-Name must return a COM object reference that provides access to the immediately following
Property-Name. The final property access can return any supported COM data type.
[ { COMProperty | COMMethod } : ] ... Method-Name ( [ COMparm [ , COMparm ] ... ] )
|
Any COMProperty or
COMMethod that precedes the final
Method-Name must return a COM object reference that provides access to the immediately following
Method-Name. The final method call can return any supported COM data type.
{ [ OUTPUT | INPUT-OUTPUT ] expression [ AS Data-type ] [ BY-POINTER | BY-VARIANT-POINTER ] | null-parm }
|
The expression can be any valid ABL expression or data element.
Data-type is a supported COM data type that is compatible with the
expression. A
null-parm is any amount of white space. For information on COM data types and on OUTPUT, INPUT-OUTPUT, BY-POINTER, and BY-VARIANT-POINTER, see the
“Data-type” section.
SHORT | FLOAT | CURRENCY | UNSIGNED-BYTE | ERROR-CODE | IUNKNOWN
|
The requirements for using the OUTPUT, INPUT-OUTPUT, BY-VARIANT-POINTER, BY-POINTER, and AS Data-type options depend on the COM object method or property, the implementation of the COM object, and how you plan to use the parameter or property in your application. In many cases,
expression is all that you require for a property write or method parameter. For more information on and examples of accessing COM object properties and methods, see the information on COM object references in the chapter on ActiveX Automation and in the chapter on control container support in
OpenEdge Development: Programming Interfaces.