[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.


More information about the Customdrawn mailing list