System.TObject.Destroy

Aus RAD Studio API Documentation
Wechseln zu: Navigation, Suche

Delphi

destructor Destroy; virtual;

C++

__fastcall virtual ~TObject();

Eigenschaften

Typ Sichtbarkeit Quelle Unit Übergeordnet
destructor public
System.pas
systobj.h
System TObject


Beschreibung

Gibt eine Objektinstanz frei.

Rufen Sie Destroy nicht direkt auf. Verwenden Sie stattdessen Free. Free überprüft, ob die Objektreferenz nicht bereits nil ist und ruft Destroy nur bei Bedarf auf.

Die in TObject definierte Destroy-Methode gibt den Speicher frei. Abgeleitete Objekte definieren normalerweise einen Destruktor, der für diese Art von Objekt angepasst ist.

Wenn Sie eine Destroy-Methode in einem abgeleiteten Objekt deklarieren, müssen Sie in die Deklaration immer die Direktive "override" einfügen und als letzte Anweisung in der überschriebenen Methode die geerbte Version von Destroy aufrufen. Da Destroy eine virtuelle Methode ist, stellen Sie durch Überschreiben der Methode sicher, dass das gewünschte Verhalten auftritt.

Hinweis: Wenn ein Konstruktor eine Exception nicht behandelt, wird der Destruktor aufgerufen, der die unvollständig erstellte Objektinstanz freigibt. Deshalb sollten Destruktoren vor der Freigabe überprüfen, ob die zugewiesenen Ressourcen, wie Handles, tatsächlich zugewiesen wurden, weil deren Wert Null sein könnte.

Die Methode Destroy sollte so implementiert werden, dass sie Free für Unterobjekte aufruft, die durch den Objektkonstruktor erzeugt (zugewiesen) wurden. Im Gegensatz zu Destroy besitzt Free einen Sicherheitsmechanismus für die Freigabe von Objekten, die nil sind.

Siehe auch