Edit: Nevermind – RangeCheck was off.

Edit: Nevermind – RangeCheck was off.

Should this code create an Index out of bounds error?

type

TArrayType = TArray;

procedure TSomeClass.GetArray(var anArray: TArrayType);

begin

SetLength(anArray, 10);

for ix := 1 to 10 // Should have been 0 to 9

do anArray[ix]:= ix; // <<– Index out of bounds but no error

end;

procedure Test(SomeClassInst: TSomeClass);

var

Arr: TArray;

begin

SomeClassInst.GetArray(Arr);

// do something

end; <<– Eurekalog flags overwrite on array finalization

10 thoughts on “Edit: Nevermind – RangeCheck was off.