📄️ ESI Action Interface - Introduction
The ESI action interface enables you to use external programs to define the look and feel of your application, rather than use the Windows Designer. Using the ESI action interface involves writing and executing scripts in batch mode with action calls that insert the required objects and controls, set their properties, etc.
📄️ ESI object model
The ESI action interface manipulates objects in accordance with the ESI object model. This model describes which classes and components are created by which other classes/components.
📄️ ESI object model compared to other models
The ESI object model is different from the models used in the Windows Designer, such as the internal (widget) model, and the layout model. Also, the context identifiers used in the object model are not "paths". Asterisks (*) denote classes, and dots (.) denote components.
📄️ Deducing the ESI object model from the layout model
For most objects the ESI object model is the same as the layout model. So, if you want to insert a label or a button, all you need to do is have a look at the Object tree to see what the corresponding object model would be.
📄️ Differences in referring to ESI properties and their values
In the ESI action interface, you can only refer to properties by means of their (technical) resource name, preceded by "XtN". So instead of using the Windows Designer's Allow Horizontal Resize property, you have to use "XtNallowHoriz". An overview of these properties and their technical names can be found in "Property Names vs Resource Names"
📄️ Implicit ESI controls vs explicit ESI controls
Explicit controls are those that you add explicitly, for example by inserting an extra query. Explicit controls are inserted with esi-insert-control().
📄️ ESI interface actions
The first action call in any script that you run via the ESI action interface MUST always be one to esi-new-application(), or to esi-open-application(). Otherwise you will get errors of the type COULDNOTOPEN \ when incorrect class names or control names are passed as parameters to esi-add-subclass(), esi-delete-class(), or esi-set-class-property().
📄️ Executing ESI actions
ESI actions can either be executed via the SQL Command dialog in your application, or directly from the command line using the USoft Binder.
📄️ esi-add-component()
Syntax
📄️ esi-add-info-window()
Syntax
📄️ esi-add-subclass()
Syntax
📄️ esi-delete-class()
Syntax
📄️ esi-delete-control()
Syntax
📄️ esi-insert-control()
Syntax
📄️ esi-new-application()
The first action call in any script that you run via the ESI action interface MUST always be one to esi-new-application(), or to esi-open-application(). Otherwise you will get errors of the type COULDNOTOPEN \ when incorrect class names or control-class names are passed as parameters to esi-add-subclass(), esi-delete-class(), or esi-set-class-property().
📄️ esi-open-application()
The first action call in any script that you run via the ESI action interface MUST always be one to esi-open-application(), or to esi-new-application(). Otherwise you will get errors of the type COULDNOTOPEN \ when incorrect class names or control-class names are passed as parameters to esi-add-subclass(), esi-delete-class(), or esi-set-class-property().
📄️ esi-save()
Syntax
📄️ esi-set-attribute()
Syntax
📄️ esi-set-class-property()
Syntax
📄️ ESI action interface notes
Action Syntax
📄️ ESI Frequently Asked Questions
Question