In the effort to conform to the ActiveX model Gen tightened the sensitivity to correct GUIObject usage many releases ago:
Typically in application logic a GUIObject attribute is used to temporarily reference various objects as required to interact with those objects:
In older versions of Gen, imperfect management of those objects within the GUI Runtime allowed certain instances of this to work successfully. However these principles should now be followed:
Gen 8.6 GUI C applications.
In order to help users detect whether an abnormal termination is a result of a model inconsistency or a GUI Runtime issue, a diagnostic tool has been provided.
These and other details in the error message, along with tracing of the application, help identify what object and statements are causing problems.
The file GUIEnvironmentVariables.
IEFTRACEGUIOBJECTS=ERROR
: provides the above error dialog.IEFTRACEGUIOBJECTS=WARNING
: provides additional warning dialogs when abuse is detected, but not yet fatal.IEFTRACEGUIOBJECTS=LOG
: provides a log recording each event. The output of this log requires executing the application within Microsoft Visual Studio, with the log written to the Debug window of Visual Studio. Execute the application as "devenv.exe loadmodulename.exe trancode
" to start the application within Visual Studio.IEFTRACEGUIOBJECTS=FIX
: quietly suppresses potentially fatal "releases", before they become application failures.Warnings:
NOTE: If an error dialog is displayed that refers to the GUIObject view containing the IDispatch address of one of the following collection objects: CListColumnItem, CListItem, CListPermitted, CListRowItem, or CMenu; the dialog message error should be ignored and the option "NO" button should be selected.