> _______________________________________________ > fpc-devel maillist - fpc-devel@lists.freepascal.org > <mailto:fpc-devel@lists.freepascal.org> > http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel > > > Pointer arithmetic: > *for Indx := 0 to SizeOf(TTCPPackageHeader) - 1 do > Dec(Byte(Pointer(Cardinal(@x) + Indx)^), ARollCount);* the error has nothing to do with your record, its that part: Pointer(Cardinal(@x) + Indx)^)
The problem is that Cardinale is an unsigned 32-bit integer, while on 64-bit, you will need UINT64, You should use PtrUInt type that is an unsigned type that always have the size of an address instead of cardinal here! Pierre _______________________________________________ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel