System.TObject.Destroy
Delphi
destructor Destroy; virtual;
C++
__fastcall virtual ~TObject(void);
Properties
Type | Visibility | Source | Unit | Parent |
---|---|---|---|---|
destructor | public | System.pas systobj.h |
System | TObject |
Description
Disposes of an object instance.
Do not call Destroy directly. Call Free instead. Free verifies that the object reference is not nil before calling Destroy.
The Destroy method defined by TObject deallocates memory. Descendent objects usually define a destructor that is customized for that particular kind of object.
When declaring a Destroy method in a descendant, always add the override directive to the declaration and call the inherited Destroy as the last statement in the overriding method. Because Destroy is a virtual method, overriding it ensures that the proper inherited behavior occurs.
Destroy should be implemented so that it calls Free on all subobjects created within the object's constructor (that is, allocated by the constructor). Unlike Destroy, Free provides a safeguard when destroying objects that are nil.