Forum: Object-Pascal / Delphi-Language
Delphi
by himitsu,
2. Dez 2010
auch statische Arrays kann man vom Stack fernhalten
und via GetMem oder New auf den Heap legen und genaus über Klassen.
einen Dritten:
alle statischen Arrays liegen in einem Stück vor ... bei einem mehrdimensionalen dynamischen Array sind es mehrere getrennte Speicherblöcke, was bei sehr großen Arrays und bei Änderung der Größe positive Auswirkungen zeigen kann.
Forum: Object-Pascal / Delphi-Language
Delphi
by himitsu,
2. Dez 2010
Wenn man zur Compiletime die Größe noch nicht weiß?
Aber wie du/wie schon sagten, wenn es nur am Anfang mal zusammen gesetzt wurde und zwischenzeitlich einzelne Größen nicht verändert wurden, nur dann kann man so ein zuverlässiges Ergebnis erfahren.
Forum: Object-Pascal / Delphi-Language
Delphi
by himitsu,
2. Dez 2010
Wenn man nur über diese SetLength-Variante alles auf einmal setzt, dann kann man schon davon ausgehn, daß alle Arrays einer Ebene gleich groß sind.
Demnach kann man jeweils den ersten Eintrag einer Ebene nutzen und darüber nachsehn.
HauptEbene := Length(MyArr);
ZweiteEbene := Length(MyArr);
DritteEbene := Length(MyArr) oder Length(MyArr);
Ansonsten geb ich Detlef schon Recht.