El 27/01/18 a las 15:10, C Western escribió:
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?
The problem is that count is qword, so the operation is qword until it
needs to convert it
for i:=0 to integer(qword( qword(count) - qword(1)) do
try this:
for i := 0 to *integer*(Count)-1 do
--
--------
Saludos
Santiago A.
_______________________________________________
fpc-pascal maillist - fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal