Vcl.Controls.TControl.Destroy
Delphi
destructor Destroy; override;
C++
__fastcall virtual ~TControl();
Eigenschaften
Typ | Sichtbarkeit | Quelle | Unit | Übergeordnet |
---|---|---|---|---|
destructor | public | Vcl.Controls.pas Vcl.Controls.hpp |
Vcl.Controls | TControl |
Beschreibung
Gibt eine Instanz von TControl frei.
Rufen Sie Destroy nicht direkt in einer Anwendung auf. Verwenden Sie stattdessen die Methode Free. Free überprüft, ob das Steuerelement bereits nil ist und ruft Destroy nur bei Bedarf auf.
Steuerelemente sollten in einer Anwendung nur explizit freigegeben werden, wenn beim Aufruf des Konstruktors kein Eigentümer übergeben wurde.
Wenn ein Steuerelement aufgelöst wird, wird:
Das der Eigenschaft Font zugewiesene TFont-Objekt wird freigegeben.
Der geerbte Destruktor wird aufgerufen.
Überschreiben Sie Destroy in abgeleiteten Klassen, um die im Konstruktor zugewiesenen Ressourcen freizugeben. Bei der Deklaration einer Destroy-Methode in einem abgeleiteten Steuerelementtyp muss immer die Direktive override hinzugefügt und die geerbte Methode Destroy in der letzten Anweisung der neu deklarierten Methode aufgerufen werden.
Beim Erzeugen eines Steuerelements stellt Delphi automatisch eine Exception-Behandlung für den Konstruktoraufruf bereit. Tritt im Konstruktor eine Exception auf, wird der Destruktor aufgerufen. Das bedeutet, dass der Destruktorcode auch die Freigabe von teilweise erzeugten Instanzen übernehmen muss. Überprüfen Sie, ob alle Datenfelder null sind, bevor Sie deren Inhalt freigeben.