Bei SetLength musst du schon die wirkliche Länge angeben:
SetLength(Field, X, Y);
Das würde das selbe wie array[0..x-1,0..y-1] bedeuten.
Außerdem gibts bei dir ne Zugriffsverletzung wenn x <> y, wegen der Zuweißung
Feld[j,i] := 1;
Du musst entweder
Feld[i,j] := 1;
schreiben
oder du musst die Schleifen abändern in
Delphi-Quellcode:
for i := 0 to Y - 1 do
begin
for j := 0 to X - 1 do
begin
Field[j, i].Var := 1;
end;
end;
Du hast natürlich auch noch die Möglichkeit:
SetLength(Field, Y, X);
MfG Niels