We have an application that requires the use of dynamic instances of the OECGI web interface. The problem is that we are wanting to develop/expand parts of the web interface while keeping the "bread and butter" site alive. When we have an error that causes the debugger to try to run, it leaves an orphaned instance of OECGI on the program stack and never returns any message to the user. What we want/need is for three things to happen:
1. Some form of error message to be returned to the user.
2. The "orphaned" instance of OECGI.exe to be gracefully terminated.
3. The error written to some form of ERROR.LOG (containing the date, time, name of the program that broke, line number of the error, and the program return stack. (sample below)
28 OCT 2003 12:13:58
Account: AIR
User: EQUALS
Station: 0*TOSHIBA
Error: TEST - line 47 B10 Variable has not been assigned a value. Zero used.
Return Stack
TEST 47 FOR I=1 TO ITEMS
RTP18 1
TCL 1
1CATALYST 1
1WINDOW 1
1RTP18 1
RTP17 1
INPUT.CHAR.ORIG 3
3INPUT.CHAR 11
PULLDOWN_WINUS_ORIG 1
1PULLDOWN_WINUS 5
PULLDOWN_WINUS_ORIG 2
11PULLDOWN_WINUS 5
WINUS 1
CATALYST 1
1RTP18 1
RTP2 1
=====================================================================
Jim,
OI 7.0 addresses partially addresses your request.
This first thing you need to do is disable the debugger in the engine being used by OECGI. One way to disable the debugger is to just remove REVDEBUG.DLL from the directory OENGINE.DLL resides in. Another way is in the Environment settings in the Database Manager there is an Enable Debugger check box.
Once the debugger is disabled, then when a fatal error occurs, oecgi retrieves the error condition and then calls the configured inet aborted routine (default is INET_ABORTED). The error condition is passed in as the second parameter. You do get the program name and line number, but you do not get a complete stack trace.
Again, this is all in 7.0
Pat
Can I sign up as a late beta-tester?
How about early adopter?