AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Destructor: .Free oder .Destroy?

Ein Thema von Ares · begonnen am 21. Nov 2007 · letzter Beitrag vom 21. Nov 2007
 
Der_Unwissende

Registriert seit: 13. Dez 2003
Ort: Berlin
1.756 Beiträge
 
#3

Re: Destructor: .Free oder .Destroy?

  Alt 21. Nov 2007, 08:58
Obwohl Manuel Deine Frage schon beantwortet hat, möchte ich noch mal ergänzen:

Aufrufen solltest Du immer Free (wie im Beitrag zuvor zu lesen, ruft Free für Dich Destroy auf). Selbst implementieren hingegen solltest Du als Destruktor immer Destroy.
Der Unterschied liegt darin, dass Free eine einfache Überprüfung durchführt, ob die Variable eine gültige Adresse referenziert. So werden Objekte mittels Create irgendwo im Speicher erzeugt und Dir wird eine Referenz (eine Art typisierter Zeiger auf ein Objekt) zurückgegeben. Als ungültig wird nur die Adresse nil erkannt, da hier garantiert kein Objekt liegen kann. Jede andere Adresse (also mind. 2^32 - 1) erscheint hingegen gültig. Wird also das Objekt hinter einer Variablen freigegeben und ist ein weiterer Zugriff auf diese Variable möglich (z.B. da sie einen globalen Scope besitzt), dann solltest Du dieser Variable anschließend nil zuweisen (oder FreeAndNil verwenden). Wird die Variable nicht mehr gelesen (z.B. weil sie nur lokal ist) oder wird ihr gleich im Anschluss ein neues Datum (mittels Create) zugewiesen, so ist das natürlich nicht nötig.

Gruß Der Unwissende
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:03 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz