Thema: Delphi freigeben?

Einzelnen Beitrag anzeigen

teebee

Registriert seit: 17. Jan 2003
Ort: Köln
460 Beiträge
 
Delphi 6 Professional
 
#13

Re: freigeben?

  Alt 18. Okt 2004, 20:09
Zitat von Pseudemys Nelsoni:
wenn man .Free benutzt passiert nie etwas, da die methode erst prüft ob das object tatsächlich existiert, wenn dem so ist wird Destroy aufgerufen
Leider nicht ganz...
Free prüft nicht, ob ein Objekt existiert, sondern ob die Objektreferenz ungleich Nil ist. Wenn Du ein Objekt mit Free freigibst und die Objektreferenz nicht von Hand auf Nil setzst, geht der zweite Versuch, das Objekt freizugeben ins Nirwana, weil Free eine Referenz ugleich Nil sieht und das Destroy einer nicht mehr existenten Instanz aufruft.
Deshalb am besten immer mit FreeAndNil arbeiten, wo man selbst die Kontrolle darüber hat.

Gruß, teebee
  Mit Zitat antworten Zitat