Xbasic
{WATCH}
Syntax
{WATCH= Variable ! Event_Name }
Arguments
- Variable
Character. The variable to monitor.
- Event_Name
Character. The name of the event to fire when Variable changes.
Description
The {WATCH} command monitors the value of a variable or expression and fires an event when that expression changes.
A5.TRANSACTION_COUNTER() can be useful in this context.
Example
dim global name as C
name = "fred"
ui_modeless_dlg_box("watch",<<%dlg%
{watch=name!name_changed}
Go to the Interactive window and change the value in the 'name' global variable.;
{lf};
%dlg%,<<%code%
if a_dlg_button = "close" then
ui_modeless_dlg_close("watch")
end if
if a_dlg_button = "name_changed" then
ui_msg_box("Note","Someone changed the value of the 'name' variable.")
end if
%code%)A variation of this command monitors button clicks in another dialog box. This example is in two parts. First, start a modeless dialog box with buttons.
ui_modeless_dlg_box("test2",<<%dlg%
{watch=ui_modeless_dlg_button("test")!buttonPressed}
%dlg%,<<%code%
if a_dlg_button = "close" then
ui_modeless_dlg_close("test2")
end if
if a_dlg_button = "buttonPressed" then
button_name = ui_modeless_dlg_button("test")
if button_name <> "" then
ui_msg_box("This is Test2 reporting what button was pressed in Test","Button that was pressed: " + button_name)
end if
ui_modeless_dlg_button_reset("test","")
end if
%code%)Then start a script that watches for button clicks in the modeless dialog box.
ui_modeless_dlg_box("test",<<%dlg%
%dlg%,<<%code%
if a_dlg_button = "close" then
ui_modeless_dlg_close("test")
end if
%code%)Limitations
Desktop applications only
See Also