The Dialog class

The ui.Dialog class provides a set of methods to configure, query and control the current interactive instruction.

A ui.Dialog object can for example be used to enable or disable actions and form fields dynamically during the dialog execution.

A dialog object is typically available inside a dialog block, with the predefined DIALOG keyword, and can only be referenced during the execution of that interactive instruction. After the interactive instruction, the dialog object is destroyed and its reference becomes invalid.

When using methods of the ui.Dialog class that alter the data model or change the current field or row, control blocks like BEFORE FIELD, AFTER ROW, BEFORE DELETE are not executed: These are only fired to detect and control end user activity. Program code is considered as part of the dialog implementation. For example, methods such as ui.Dialog.deleteRow() must not execute BEFORE DELETE / AFTER DELETE control blocks. These control blocks are only fired by an end-user "delete" action.

Dialog objects can also be created dynamically to handle forms created at runtime. This feature is only provided for specific needs.