Ich hab es gerade selbst getestet. Wie es scheint hat das weniger mit Delphi 3 zu tun als mit statischen Arrays. Wie es aussieht kann man bei statischen Arrays drüber lesen, bei dynamischen kommt ein Fehler.
Hier eine kleine Routine für alle die es testen wollen:
Delphi-Quellcode:
const
x = 9;
y = 9;
var
astat: array[0..10, 0..10] of Byte;
b: Byte;
adyna: array of array of Byte;
procedure TForm1.Button1Click(Sender: TObject);
begin
Inc(b);
Caption := (Format('x: %d, y: %d, b: %d, w: %d', [x, y, b, astat[x + b,y]]));
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
SetLength(adyna, 11, 11);
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
Inc(b);
Caption := (Format('x: %d, y: %d, b: %d, w: %d', [x, y, b, adyna[x + b,y]]));
end;
Ok, Frage beantwortet. Der Fehler war schon da, nur fiel er früher nicht auf.