A handle attribute is a value that defines a visible, functional, and other characteristic of an ABL handle-based object. System handles also have attributes that describe and control certain handle-based object or system states. Attributes can be readable, writeable, or both. Readable means that your code can assign the value of the attribute to a variable or reference its value in an expression. Writeable means that your code can change the value of an attribute and thereby change the associated characteristic of the object or system state. Whether or not an attribute is readable or writeable depends on a number of factors (for example, the widget type, system handle type, widget realization, etc.).
A handle method is a specialized function associated with an ABL handle-based object that performs an action on the object, or alters the behavior of the object. Some system handles also have methods that affect certain widget and system behaviors. All methods return a value and some methods require parameters. The return value usually is a logical value specifying whether or not the execution of the method was successful. However, some methods return other types of information.
The handle-based-reference must conform to the following syntax:
{ object-name-reference | handle-reference }
|
An object-name-reference is a name reference to a static handle-based object, such as the defined name of a frame or window, or of another static handle-based object, such as a temp-table or buffer. For more information, see the
“Object name references” section. A
handle-reference can be a handle value that references any handle-based object (static or dynamic), or it can be a system handle. For more information, see the
“Handle references” section.
The attribute-or-method-access identifies a given attribute or method associated with the specified
handle-based-reference.
The container-widget-name is a name reference to a static container widget for the static widget referenced by
object-name-reference. You need it only if the static widget reference is ambiguous.
An object-name-reference can have the following syntax, depending on the static handle-based object:
[ object-type ] object-name
|
The object-type is the type of the static handle-based object specified in the DEFINE statement for the handle-based object, such as FRAME in the DEFINE FRAME statement or TEMP-TABLE in the DEFINE TEMP-TABLE statement. For a data representation widget associated with a field or variable,
object-type is the widget specified using the VIEW-AS phrase, such as COMBO-BOX for VIEW-AS COMBO-BOX.
The object-name is the name that you specify for the static handle-based object using the DEFINE statement for the handle-based object. For a data representation widget, it is the name of the field or variable associated with the widget.
For static frame fields, you only need to provide the object-name (field or variable name) to reference the associated widget, and ABL looks for its data representation widget in a frame. However, for most other static handle-based objects, you must qualify the
object-name with the
object-type, for example, BUFFER Customer, QUERY qCust, or TEMP-TABLE ttCust.
A handle-reference allows you to directly reference a handle-based object using a handle value. You can set this handle value by assigning the HANDLE attribute of a static handle-based object (see the
“Object name references” section), by creating a dynamic handle-based object, by assigning the handle value provided by a system handle, or from any other source of handle values, such as method or function return values. Examples of handle references include
CURRENT-WINDOW and
BUFFER bCust:HANDLE (from the previous example).
The widget-reference is a reference to a handle-based object (see the
“Handle-based references” section). The
attribute-name specifies the ABL-defined name of a handle-based object attribute. The
container-widget-name is a name reference to a static container for a static widget. You need it only if the static widget reference is ambiguous without it, as shown in the following example. For more information on accessing attributes, see the
“Accessing handle attributes and methods” section.
widget-reference : method-name ( [ parameter-list ] ) [ IN container-widget-name ]
|
The widget-reference is a reference to a handle-based object (see the
“Handle-based references” section). The
method-name specifies the ABL-defined name of a handle method, and
parameter-list specifies any parameter list for the method. The
container-widget-name is a name reference to a static container for a static widget. You need it only if the static widget reference is ambiguous, as shown in the following example. To execute a handle method, you can assign the return value directly to a variable, include the method in an expression, or directly invoke the method as a statement (terminated with a period), ignoring its return value. For more information on calling handle methods, see the
“Accessing handle attributes and methods” section.
widget-reference : attribute-or-method-reference
[ : attribute-or-method-reference ] ...
|