[fpc-pascal] type conversions

Jonas Maebe jonas at zeus.rug.ac.be
Mon Dec 9 12:34:47 CET 2002


On maandag, dec 9, 2002, at 12:06 Europe/Brussels, 
memsom at interalpha.co.uk wrote:

>> No, a type conversion between ordinal types does not change one bit
>> pattern into another. -1 is a bit pattern that only contains 1-bits, 
>> so
>> when you convert that to an unsigned type, it still contains only
>> 1-bits and as such becomes the highest value that that unsigned type
>> can represent (65535 in case of an unsigned 16 variable).
>
> Whatever the truth, how else does the 'list index out of bounds (0)' 
> happen?

TList.count returns -1, this is converted to a 16 bit unsigned value = 
65535 -> the loop is run from 0 to 65535 (and crashes in the first 
iteration).


Jonas





More information about the fpc-pascal mailing list