[Customdrawn] Some patches for dialogs and palette

Michael Schnell mschnell at lumino.de
Tue Sep 11 14:19:20 CEST 2012


On 09/11/2012 01:25 PM, Felipe Monteiro de Carvalho wrote:
> Then I fail to see why it doesn't work for you and seams to work for
> everyone else. Maybe it doesn't work in SuSE only?

I can't believe this. I will upgrade to 12.2 some day soon. I'll report 
back what happens then.



The first range check error is in

TTinterp.pas line 482:

    exc.opcode := exc.Code^[exc.IP];

here exec.IP is 1001

a watch on exc.Code^ says: Len=1001:{64,69, ....

exc.Code^[0] in a watch is 64, exc.Code^[1] in a watch is 69,

Thus  exc.Code^ in fact start with element No. 0 and so exc.Code^[1001] 
rightfully creates a range check error. (In fact the first element to 
trigger this error, supposedly they are checked one after the other).

I suppose the systems where this works don't have range check enabled. I 
in fact don't know why in my installation range checking is active, but 
I feel that such a problem should be cured and not hidden by disabling 
range checks.

In fact some time ago I provided a patch that cured another (very 
different) range check error. This also did hit just me, so supposedly 
noone but me has range checking enabled with these units.

-Michael






More information about the Customdrawn mailing list