1. fShowError()

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

new topic     » topic index » view message » categorize

2. Re: fShowError()

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

new topic     » goto parent     » topic index » view message » categorize

3. Re: fShowError()

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

new topic     » goto parent     » topic index » view message » categorize

4. Re: fShowError()

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

new topic     » goto parent     » topic index » view message » categorize

5. Re: fShowError()

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.

new topic     » goto parent     » topic index » view message » categorize

6. Re: fShowError()

> 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

new topic     » goto parent     » topic index » view message » categorize

Search



Quick Links

User menu

Not signed in.

Misc Menu