From: | David McMinn |
Date: | 22 Aug 2001 at 11:48:15 |
Subject: | Re: EndSelect/Case/Default without Select |
Hi Thilo
> The problem is too "complex" calcultion when calling a statement.
>
> The original piece of code that producted the bug:
>
> draw_midi_refresh_a
> {win,0,time1,yseek,time1,yseek+temp\view_midi[0-#v_note]+temp\view_midi[0-#v_vel]
> -1}
It sounds like some kind of stack problem (although don't ask me why, it
just does). It could be that Blitz stacks some registers to perform the
calculation and then doesn't remove them afterwards.
I suppose it could also be a problem with some of the debugging code in
one of the libraries, as with the array problem that Amorel had recently.
Disassembling the exe it creates for that kind of error, it looks like it
gets the calculation completely wrong. Reads the array element from
completely the wrong address (most likely a low memory address - hmm,
that could be a problem I was having with some code). It does also look
like it puts 4 longwords on the stack but only removes 2 of them.
---------------------------------------------------------------------
To unsubscribe, e-mail: blitz-list-unsubscribe@netsoc.ucd.ie
For additional commands, e-mail: blitz-list-help@netsoc.ucd.ie