To save on system resources, and avoid warning messages, all dialog regions and dialog boxes should be defined as temporary and invisible when the program starts, for example:
When you want to use a dialog box/region, make it permanent and visible, for example:
Your application may populate the dialog or alter attributes of the controls between making the dialog permanent and making it visible. If the population of a dialog takes a long time, for example the data is being extracted from several dumb terminal screens, then you should make the dialog visible, so the operator is aware that the population is in progress.
When you are finished with the dialog box/region, make it invisible and temporary for example:
Note that you must extract the information held in the dialog before making temporary.
If you choose to have either of the following:
•Dialog boxes/regions that are used behind the scenes.
•Dialog boxes/regions that you want to retain the contents of the dialog controls when they are made visible again.
then make them invisible, but not temporary.
Do not make dialog boxes/regions temporary before making them invisible
The temporary/permanent combo can be likened to dynamic creation and deletion of objects. The resources used by the object returned, and the dialog box/region does not exist (to the operating system) when it is temporary and invisible - ESL saves the attributes for the time when it is made permanent again.
Things that are NOT exceptions to the rules:
•Primary windows that are dialog regions.
•Other Dialog boxes/regions that are visible on startup.
If the dialog box/region is to be visible on startup, define it as temporary and invisible, and in response to start, make it permanent and visible.