Registriert seit: 17. Okt 2004
Ort: Berlin
1.251 Beiträge
Delphi 5 Standard
|
Re: Speicher läuft voll
17. Nov 2004, 10:22
So weit ich weis benutzt doch gerade das dynamische Array/Strings ReallocMem. Der macht doch genau das. Also neuen Speicher anfordern, Speicher kopieren, alten Speicher "freigeben".
Wenn dann müsstest du zum direkt per VirtualAlloc oder so direkt von Windows Speicher anfordern und wieder freigeben. Aber dann ist es einfacher, einen eigene Speichermanager zu basteln (siehe dazu SetMemoryManager und GetMemoryManager). Um den dann aber gut zu optimieren braucht schon seine Zeit, deshalb kann man auch getrost einen alternativen MemManger verwenden. Viele sind sogar besser als Delphi-Manager, weil sie direkt größere Bereiche von Windows anfordern. Also statt 3 x 10 Bytes wird bei der ersten Anforderung von 10 Bytes zum Beispiel direkt 4096 Bytes angefordert. Ich glaube einfach, dass man verschiedene Testen muss, wenn man auf solche Probleme stösst.
|