On 27.01.2018 15:10, C Western wrote: > The following innocuous looking code generates a range check error: > > {$R+} > function Count: qword; > begin > Result := 0; > end; > var > i: Integer; > begin > for i := 0 to Count-1 do > WriteLn(i); > end. > > I can (more or less) see why, but it means that I can't (for example) > compile the Cocoa widget set in 64 bit with bounds checking on, as then > qword seems to be used as a count for, for example, NSarray. > > Am I missing something?
Integer is 32-bit, QWord is 64-bit. *Of course* there is a range check error then. You need to use e.g. SizeInt as counter variable type in those cases (SizeInt is 32-bit on 32-bit systems and 64-bit on 64-bit systems). Regards, Sven _______________________________________________ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal