Einzelnen Beitrag anzeigen

Benutzerbild von Ralf Kaiser
Ralf Kaiser

Registriert seit: 21. Mär 2005
Ort: Wuppertal
932 Beiträge
 
Delphi 10.3 Rio
 
#6

Re: := NIL ist gleich free?

  Alt 27. Apr 2006, 08:48
Zitat von Mavarik:
Hallo!

Ich lese öffter, das es in delphi möglich ist einfach einen Speicher wieder frei zu geben, indem man dem Zeiger auf NIL setzt.
Die C-Jungs müssen scheinbar noch manuell den Free aufrufen?! Bzw. release.

Ich rede nicht von .Net wo die Speicher-Abfallbeseitigung das erledigt

Habe ich da etwas verpasst? Oder wie funktioniert das?

Frank
Hallo,

wenn das betreffende Objekt ein Interface implementiert (also z.B. eine Instanz eines COM-Servers ist) dann macht Delphi eine Referenzzählung. Das heisst, daß das Objekt freigegeben wird wenn die letzte Referenz auf NIL gesetzt wird, also von der Wirkung her wie bei dot-net-Objekten.

Bei "normalen" Objekten trifft das nicht zu. Diese müssen explizit freigegeben werden.

Ciao,
Ralf
Ralf Kaiser
  Mit Zitat antworten Zitat