Aber vorher die erste Dimension des Arrays testen. Wenn length(TestArray) = 0, dann fliegt man mit length(TestArray[0]) auf die Nase.
Nach
SetLength(MeinArray, X, Y)
ist das Array rechteckig, aber bedenke, dass jedes Unterarray auch eine eigene Länge haben kann.
Vorbild:
Code:
type
TMyArray = array of array of Integer;
var
MA: TMyArray;
begin
SetLength(MA, 10, 10); // Noch rechteckig, 10 x 10
SetLength(MA[0], 17); // Nicht mehr rechteckig
SetLength(MA[3], 7); // Jetzt erst recht nicht mehr
Das nennt man nicht umsonst ein
"ragged array" (
"Flatterarray", analog zu
Flattersatz). In wirklichkeit ist das nämlich:
Code:
type
TMySubArray = array of Integer;
TMyArray = array of TMySubArray;