REST.Backend.Providers.TBackendProviders.TProvider.Destroy
Delphi
destructor Destroy; override;
C++
__fastcall virtual ~TProvider(void);
Eigenschaften
Typ | Sichtbarkeit | Quelle | Unit | Übergeordnet |
---|---|---|---|---|
destructor | public | REST.Backend.Providers.pas REST.Backend.Providers.hpp |
REST.Backend.Providers | TProvider |
Beschreibung
Gibt eine Objektinstanz frei.
REST.Backend.Providers.TBackendProviders.TProvider.Destroy erbt von System.TObject.Destroy. Der folgende Inhalt bezieht sich auf System.TObject.Destroy.
Gibt eine Objektinstanz frei.
Rufen Sie Destroy nicht direkt auf. Verwenden Sie stattdessen Free. Die Methode Free überprüft, ob die Objekt-Referenz nicht bereits nil ist und ruft Destroy nur bei Bedarf auf.
Die in TObject definierte Version von Destroy gibt den Speicher frei. Abgeleitete Objekte definieren normalerweise einen eigenen Destruktor.
Wenn Sie eine Destroy-Methode in einem abgeleiteten Objekt deklarieren, beachten Sie Folgendes: Fügen Sie in die Deklaration immer die Direktive override ein, und rufen Sie als letzte Anweisung in der überschriebenen Methode die geerbte Version von Destroy auf. Da Destroy eine virtuelle Methode ist, stellen Sie durch Überschreiben der Methode sicher, dass das gewünschte Verhalten auftritt.
Anmerkung: Wenn ein Konstruktor eine Exception nicht behandelt, wird der Destruktor aufgerufen, der die unvollständig initialisierte Objektinstanz wieder freigibt. Deshalb sollten Destruktoren vor der Freigabe überprüfen, ob die zugewiesenen Ressourcen, wie z.B. Handles, tatsächlich zugewiesen wurden (deren Wert könnte Null sein).
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.