Previous Next

VALID-HANDLE function
Verifies that a handle is valid.
Note:
Syntax 
 
VALID-HANDLE ( handle )
handle
An expression that evaluates to a value of type HANDLE. If the handle represents an object that is currently valid, VALID-HANDLE returns TRUE. If the handle is no longer valid (if, for example, some procedure deleted the object), the function returns FALSE.
Example 
In the following example, the user creates a window dynamically. The WINDOW-CLOSE trigger uses the VALID-HANDLE function to determine whether the window has been created.
 
DEFINE VARIABLE mywin AS HANDLE NO-UNDO.
 
DEFINE BUTTON mkwin LABEL "New Window".
 
ENABLE mkwin.
 
ON CHOOSE OF mkwin DO:
  CREATE WINDOW mywin ASSIGN 
    VISIBLE          = TRUE
    TITLE            = "Second Window"
    MAX-WIDTH-CHARS  = 40
    MAX-HEIGHT-CHARS = 10.
  SELF:SENSITIVE   = FALSE.
END.
 
ON WINDOW-CLOSE OF DEFAULT-WINDOW DO:
  IF VALID-HANDLE(mywin) THEN 
    DELETE WIDGET mywin.
END.
 
WAIT-FOR WINDOW-CLOSE OF DEFAULT-WINDOW.
In the example, the VALID-HANDLE function returns a TRUE value only if the window has been created (that is, mywin does not have the Unknown value (?)) and the window has not been deleted. Therefore, the DELETE WIDGET statement executes only if mywin is a valid handle.
Notes 
*
*
VALID-HANDLE(handle:PREV-SIBLING) is FALSE when you reach the first handle in the list. VALID-HANDLE(handle:NEXT-SIBLING) is FALSE when you reach the last handle in the list.
*
*
The VALID-HANDLE function supports handles to AppServers, proxy procedures, remote persistent procedures, and COM objects. For more information on AppServers, see OpenEdge Application Server: Developing AppServer Applications. For more information on COM objects, see OpenEdge Development: Programming Interfaces.
See also 
CREATE SERVER statement, HANDLE function

Previous Next
© 2013 Progress Software Corporation and/or its subsidiaries or affiliates.