HANDLE attribute

A handle to the object.

Data type: HANDLE

Access: Read-only

Applies to: Asynchronous request object handle, AUDIT-CONTROL system handle, AUDIT-POLICY system handle, BROWSE widget (browse, column, and cell), Buffer object handle, Buffer-field object handle, BUTTON widget, Call object handle, Client-principal object handle, CLIPBOARD system handle, CODEBASE-LOCATOR system handle, COLOR-TABLE system handle, COMBO-BOX widget, COMPILER system handle, Data-relation object handle, Data-source object handle, DEBUGGER system handle, DIALOG-BOX widget, DSLOG-MANAGER system handle, EDITOR widget, ERROR-STATUS system handle, FIELD-GROUP widget, FILE-INFO system handle, FILL-IN widget, FONT-TABLE system handle, FRAME widget, IMAGE widget, LAST-EVENT system handle, LITERAL widget, LOG-MANAGER system handle, MENU widget, MENU-ITEM widget, Procedure object handle, ProDataSet object handle, Query object handle, RADIO-SET widget, RCODE-INFO handle, RECTANGLE widget, SAX-attributes object handle, SAX-reader object handle, SAX-writer object handle, SECURITY-POLICY system handle, SELECTION-LIST widget, Server object handle, Server socket object handle, SESSION system handle, SLIDER widget, SOAP-fault object handle, SOAP-fault-detail object handle, SOAP-header object handle, SOAP-header-entryref object handle, Socket object handle, Stream object handle, SUB-MENU widget, Temp-table object handle, TEXT widget, TOGGLE-BOX widget, Transaction object handle, WEB-CONTEXT system handle, WINDOW widget, X-document object handle, X-noderef object handle

You can store this value in a HANDLE variable. You can also use it to associate one widget with another widget or with a system handle. For example, you can assign the HANDLE value of the menu bar to the MENU-BAR attribute of a window, or you can make the window the current window by assigning its HANDLE value to the CURRENT-WINDOW handle.

For query objects, the HANDLE attribute lets you acquire a query object for a static query, as the following fragment demonstrates:

my-query-handle = QUERY q:HANDLE.

The following code fragment uses the HANDLE attribute of a buffer-field to retrieve the buffer-field's handle:

my-buffer-field = city:HANDLE IN BUFFER Customer.

The preceding code fragment requires that you know the name of the field (in this case, "City") at compile time. The following code fragment, which performs the same task, does not require this:

my-buffer = BUFFER Customer:HANDLE
my-buffer-field = my-buffer:BUFFER-FIELD("City").

The value of a the HANDLE attribute is guaranteed to be unique among the HANDLE attributes for all object instances in an ABL session.