1. fShowError()
- Posted by George Walters <gwalters at sc.rr.com> Mar 09, 2006
- 481 views
I got this error from a bound program and can't find the routine failing. It's not in my program nor is it in win32lib.ew. Anyone know where this routine is located? I have the complete dump if you need it. C:\AcuTrack\bin\icr170.exe:558 in procedure fShowError() attempt to divide by 0 pParams = {{103'g',101'e',116't',72'H',97'a',110'n',100'd',108'l', 101'e',32' ',102'f',97'a',105'i',108'l',101'e',100'd',46'.'},495} pMode = 2 lErrCode = 495 lResponse = 1 lStyle = 16 EU = {103'g',101'e',116't',72'H',97'a',110'n',100'd',108'l',101'e', 32' ',102'f',97'a',105'i',108'l',101'e',100'd',46'.'} lDispMsg = {69'E',114'r',114'r',111'o',114'r',32' ',99'c',111'o',100'd', 101'e',32' ',52'4',57'9',53'5',10,103'g',101'e',116't',72'H',97'a',110'n', 100'd',108'l',101'e',32' ',102'f',97'a',105'i',108'l',101'e',100'd',46'.', 10,10,87'W',105'i',110'n',51'3',50'2',76'L',105'i',98'b',32' ',118'v', 48'0',46'.',53'5',57'9',46'.',49'1',32' ',48'0',56'8',45'-',74'J',117'u', 110'n',101'e',45'-',50'2',48'0',48'0',51'3'} lTitle = {87'W',105'i',110'n',51'3',50'2',76'L',105'i',98'b',32' ', 65'A',112'p',112'p',87'W',105'i',110'n',100'd',111'o',119'w',32' ',45'-', 32' ',70'F',97'a',116't',97'a',108'l',32' ',69'E',114'r',114'r',111'o', 114'r'} ... called from C:\AcuTrack\bin\icr170.exe:569 in procedure abortErr() EV = {{103'g',101'e',116't',72'H',97'a',110'n',100'd',108'l',101'e', 32' ',102'f',97'a',105'i',108'l',101'e',100'd',46'.'},495} ... called from C:\AcuTrack\bin\icr170.exe:3980 in function getHandle() Gy = 17 Gz = <no value> ... called from C:\AcuTrack\bin\icr170.exe:6984 in function isEnabled() RU = 17 RV = <no value> ... called from C:\AcuTrack\bin\icr170.exe:11413 in procedure SpecialKeyProcess() ta = 16 tb = 5 tc = {13,0} td = 0 te = 0
2. Re: fShowError()
- Posted by George Walters <gwalters at sc.rr.com> Mar 09, 2006
- 467 views
Ok I found where it is but don't understand the error. fShowError is in the included module ui_msgs.e, and here's the section that actually forces a divide by zero for some reason. Anyone know how to fix this error. I can rem the divide by zero error but I'm sure there is another problem that may need to be fixed. if pMode = 2 or lResponse = IDCANCEL then fCleanUp(lErrCode, lDispMsg) if pMode = 2 then -- abort crash_message(lDispMsg) abort(1/0) -- Force the ex.err to be created. else abort(0) -- Quit silently. end if end if
3. Re: fShowError()
- Posted by Pete Lomax <petelomax at blueyonder.co.uk> Mar 09, 2006
- 456 views
On Thu, 09 Mar 2006 06:06:52 -0800, George Walters <guest at RapidEuphoria.com> wrote: >... called from C:\AcuTrack\bin\icr170.exe:6984 in function isEnabled() > RU = 17 > RV = <no value> > >... called from C:\AcuTrack\bin\icr170.exe:11413 in procedure >SpecialKeyProcess() > ta = 16 > tb = 5 > tc = {13,0} > td = 0 > te = 0 This suggests there is a call to isEnabled(xxx+1) in SpecialKeyProcess, if so try replacing it with the proper control-id, I don't think win32lib guarantees sequential ids anymore. Regards, Pete
4. Re: fShowError()
- Posted by Derek Parnell <ddparnell at bigpond.com> Mar 09, 2006
- 457 views
Pete Lomax wrote: > > On Thu, 09 Mar 2006 06:06:52 -0800, George Walters > <guest at RapidEuphoria.com> wrote: > > >... called from C:\AcuTrack\bin\icr170.exe:6984 in function isEnabled() > > RU = 17 > > RV = <no value> > > > >... called from C:\AcuTrack\bin\icr170.exe:11413 in procedure > >SpecialKeyProcess() > </font></i> > > ta = 16 > > tb = 5 > > tc = {13,0} > > td = 0 > > te = 0 > > This suggests there is a call to isEnabled(xxx+1) in > SpecialKeyProcess, if so try replacing it with the proper control-id, > I don't think win32lib guarantees sequential ids anymore. Absolutely correct. You can never predict what the next id number will be. If you need to process a set of ids, store their id values in a sequence when you create them. Also, the divide by zero issue is in there to force Euphoria to produce a stack traceback when the application chooses to abort. It is very misleading but there is no nice way to do it. -- Derek Parnell Melbourne, Australia Skype name: derek.j.parnell
5. Re: fShowError()
- Posted by George Walters <gwalters at sc.rr.com> Mar 09, 2006
- 466 views
I looked at this. The ID's are in a table and I sequence through them looking for which one "self" is. It rarely fails and I can't force a failure. This one I'm looking for failed at a customer site (a bound program) but works flawlessly most of the time. Sounds like the table or the ID's got broken somehow if isEnable is the culprit.
6. Re: fShowError()
- Posted by "Greg Haberek" <ghaberek at gmail.com> Mar 09, 2006
- 504 views
> C:\AcuTrack\bin\icr170.exe:558 in procedure fShowError() > attempt to divide by 0 > pParams = {{103'g',101'e',116't',72'H',97'a',110'n',100'd',108'l', > 101'e',32' ',102'f',97'a',105'i',108'l',101'e',100'd',46'.'},495} > > ... called from C:\AcuTrack\bin\icr170.exe:569 in procedure abortErr() > ... called from C:\AcuTrack\bin\icr170.exe:3980 in function getHandle() > ... called from C:\AcuTrack\bin\icr170.exe:6984 in function isEnabled() > ... called from C:\AcuTrack\bin\icr170.exe:11413 in procedure SpecialKeyP= rocess() If you follow the "called from" tree, you'll see that getHandle() failed, which is what pParams says. Apparently it was called by your SpecialKeyProcess() procedure. You may want to start there. ~Greg