Einzelnen Beitrag anzeigen

Benutzerbild von cramer
cramer

Registriert seit: 23. Jun 2004
Ort: Velbert (NRW)
108 Beiträge
 
Delphi 2006 Enterprise
 
#1

Array ohne Stack Overflow / nicht genügend Arbeitsspeicher

  Alt 24. Jul 2008, 19:03
Hallo,
bei der Suche nach einer Array-Lösung bin auf folgenden Beitrag gestoßen: " nicht genügend arbeitspeicher verfügbar von: easteregg "
Er hat seinerzeit aufgegeben und da ich keine weiteren Beiträge zum Problem gefunden habe, möchte ich allen, die noch nach einer Lösung suchen, diesen Hinweis nicht vorenthalten.

Mein System hat 2GB RAM und läuft unter WinXpSp3. Das Problem lag an einem zu kleinen DesktopHeap-Eintrag.

Original:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Contro l\Session Manager\SubSystems (Windows=%SystemRoot%\system32\csrss.exe ObjectDirectory=\Windows SharedSection=1024,3072,512 Windows=On SubSystemType=Windows ServerDll=basesrv,1 ServerDll=winsrv:UserServerDllInitialization,3 ServerDll=winsrv:ConServerDllInitialization,2 ProfileControl=Off MaxRequestThreads=16)

Changed:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Contro l\Session Manager\SubSystems (Windows=%SystemRoot%\system32\csrss.exe ObjectDirectory=\Windows SharedSection=1024,8192,512 Windows=On SubSystemType=Windows ServerDll=basesrv,1 ServerDll=winsrv:UserServerDllInitialization,3 ServerDll=winsrv:ConServerDllInitialization,2 ProfileControl=Off MaxRequestThreads=16)

Seither gehört die Meldung der Vergangenheit an.

Nun aber zu meiner eigentlichen Frage (BDS2006)
Ich benötige ein 1MB Array of Byte in etwa so
var
// buffer : array [0..1048575] of Byte; // 1M geht aber nicht, Overflow Exception
// buffer : array [0..65535] of Byte; // 64K geht
// buffer : array [0..262143] of Byte; // 256K geht auch noch

Gibt es für 1MB ein Lösung ?
Falls nicht und ich begnüge mich mit 256K, kann es auf anderen Systemen trotzdem zu einem Overflow kommen ?
Thanks in advance
Erfahrung ist etwas, daß man erst bekommt, kurz nachdem man es dringend gebraucht hätte.
  Mit Zitat antworten Zitat