Forum: Object-Pascal / Delphi-Language
Delphi
by Uwe Raabe,
26. Nov 2008
Ist das Array statisch als lokale Variable deklariert, wird es in seiner gesamten Größe auf dem Stack angelegt. Ein dynamisches Array ist ein Pointer auf ein Array mit variabler Größe, wobei nur der Pointer auf dem Stack angelegt wird, das eigentliche Array aber auf dem Heap.
Die maximale Stack-Größe wird übrigens in den Linker-Einstellungen angegeben und beträgt standardmäßig 1MB! Der...
Forum: Object-Pascal / Delphi-Language
Delphi
by Uwe Raabe,
26. Nov 2008
Soweit ich weiß, ist ShortString als string deklariert.
Und grundsätzlich sollte man derart große Strukturen nicht auf dem Stack anlegen. Eine Möglichkeit ist, das Array dynamisch anzulegen:
var
DatenSaetze: array of TDatensatz;
begin
SetLength(DatenSaetze, 8192);
...