Calls an ancestor script from a script for a descendent object. You can call scripts for events in an ancestor of the user object, menu, or window. You can also call scripts for events for controls in an ancestor of the user object or window.
When you use the CALL statement to call an ancestor event script, the AncestorReturnValue variable is generated. For more information on the AncestorReturnValue variable, see “About events”.
CALL ancestorobject {`controlname}::event
Parameter |
Description |
---|---|
ancestorobject |
An ancestor of the descendent object |
controlname (optional) |
The name of a control in an ancestor window or custom user object |
event |
An event in the ancestor object |
Using the standard syntax For most purposes, you should use the standard syntax for calling functions and events. For more information about the standard syntax, see “Syntax for calling PocketBuilder functions and events”.
The standard syntax allows you to trigger or post an event or function in an ancestor and then pass arguments, but it does not allow you to call a script for a control in the ancestor.
In some circumstances, you can use the pronoun Super when ancestorobject is the descendant object’s immediate ancestor. See the discussion of “Super pronoun”.
If the call is being made to an ancestor event, the arguments passed to the current event are automatically propagated to the ancestor event. If you call a non-ancestor event and pass arguments, you need to use the new syntax, otherwise null will be passed for each argument.
Example 1 This statement calls a script for an event in an ancestor window:
CALL w_emp::Open
Example 2 This statement calls a script for an event in a control in an ancestor window:
CALL w_emp`cb_close::Clicked