"Arbeitspsiecher"
Du hast "lokale" Variablen definiert und die liegen auf dem Stack, nicht dem Heap.
http://docwiki.embarcadero.com/RADSt...erung_(Delphi)
Oder ein dynamisches Array, anstatt einem statischen Array.
Da liegt dann hier nur die Variable (der Array-Zeiger) auf dem Stack, aber die Daten auf dem Heap.
PS: 32 Bit-Anwendung hat standardmäßig immer maximal 2 GB. (31 Bit zuzüglich Vorzeichen)
Man kann ein Compilerflag setzen, dann sind es 4 GB (32 Bit) bzw. in 32-Bit Windows maximal 3 GB, aber das bringt dir hier eh nichts.
Tipp: informiere dich über den Unterschid von virtuellem Speicher und physischem Speicher.
Und 4 GB von 8 stage auch nichts aus, denn da kommt noch die Auslagerungsdatei hinzu.
Und falls aktiviert auch noch eine Speicherkomprimierung.
Zitat:
Wandelt der Compiler automatisch diese string[XX] in ShortStrings um?
Nein, der wandelt nicht um,
aber ja, das sind ShortStrings.
(nur der "uralte" ganze String wurde in ShortString umbenannt, als der neue
String AnsiString erfunden wurde ... die mit Längenangabe heißen noch wie früher)