Einzelnen Beitrag anzeigen

alfold

Registriert seit: 29. Jun 2010
Ort: Neustrelitz
393 Beiträge
 
Delphi 7 Enterprise
 
#33

AW: Arbeitsspeicher läuft über - wie leeren

  Alt 19. Aug 2010, 16:07
Auch wenn Du Dein Programm beendest,(und es sieht so aus das alles Frei gegeben wird), ist der Speicher noch reserviert!
Das ist barer Unsinn. Wo hast du das her? Wenn der Prozess beendet wird, dann wird der Adressbereich des Prozesses komplett wieder frei gegeben und steht anderen Programmen zur Verfügung. Und es spielt keine Rolle, ob du den von dir reservierten Speicher frei gibst oder nicht. Beim beenden räumt Windows hinter dir auf.
mh... War mir nicht so, das Windows erst den Speicher "richtig" freigibt wenn ein neuer Prozess speicher anfordert!? Sollte also mein Prog nach beenden noch mal gestartet werden, erspart sich Windows ne neue zuordnung von Speicher!? (schnellerer Programmstart) Oder verwechsle ich das jetzt mit was anderem

Aber wird nicht immer expliziet darauf hingewiesen, das ich selbst dafür verantwortlich bin, egal ob es ein Record, Objekt oder ein dynamisches Array ist, am Ende dafür zu sorgen, das es auch wieder frei gegeben wird? Dann kann man sich ja am Ende( das aufräumen sparen)
Delphi-Quellcode:
procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
//freigeben von objekte
//dyn. Arrays
//records usw.
end
und ich stecke da immer so viel Arbeit rein
gruss alfold

Geändert von alfold (19. Aug 2010 um 16:09 Uhr)
  Mit Zitat antworten Zitat