Me voy a meter a consciencia de que no tengo ni idea de esto
Pero...
Cita:
Time_Real: Integer; // [INTEGER:TimeRealRange] ::= INTEGER(0..TimeRealRange) ... TimeRealRange ::= 2^32-1
end;
|
dice que el INTEGER va de 0..2^32-1
Me pasó algo parecido en otro caso y la solucion tenía que ver con:
Cita:
Generic integer types for 32-bit implementations of Delphi
Type Range Format
Integer -2147483648..2147483647 signed 32-bit
Cardinal 0..4294967295 unsigned 32-bit
Fundamental integer types include Shortint, Smallint, Longint, Int64, Byte, Word, and Longword.
Fundamental integer types
Type Range Format
Shortint -128..127 signed 8-bit
Smallint -32768..32767 signed 16-bit
Longint -2147483648..2147483647 signed 32-bit
Int64 -2^63..2^63-1 signed 64-bit
Byte 0..255 unsigned 8-bit
Word 0..65535 unsigned 16-bit
Longword 0..4294967295 unsigned 32-bit
|
El tipo integer va de -2147483648..2147483647 mientras que el Cardinal 0..4294967295 (sin signo) por lo que creo que debes definir tu variable como cardinal (ó longword) en lugar de integer.
Espero te sirva.