Einzelnen Beitrag anzeigen

hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.276 Beiträge
 
Delphi 10.4 Sydney
 
#26

Re: Unterschied zwischen FreeAndNil(Objekt) und Objekt.Free

  Alt 16. Nov 2006, 06:08
Hallo Kha..,

was heisst, muss nicht sein ?
Schon klar, dass man sowas vermeiden sollte.

Es ist aber so, dass FreeAndNIL nicht initialisierte Objekte
nicht erkennen kann.
Dafür gibt es ja dass NIL setzen.

Zum "Was sollte man nehmen".

Destroy nie direkt aufrufen.
Zum Freigeben .Free benutzen, falls das Objekt später nicht mehr benutzt wird,
weil es z.B. eine lokale Variable ist.
FreeAndNIL fasst 2 Befehle zusammen (Free and NIL, wer hätte das gedacht ),
macht also Sinn, wenn das Objekt mehrfach verwendet werden kann.

Wir ein Objekt über lokale Variable erzeugt und nicht freigegeben,
bleibt der Speicher belegt, bis das Programm beendet wird (nicht unter Win9X).
Wenn ich also so eine Prozedur 1 Mio. mal im Programm benutze,
frisst die jedes mal Speicher.
Und irgendwann sind auch 2 Gig weg.


Heiko
Heiko
  Mit Zitat antworten Zitat