System.TypInfo.FreeAndNilProperties

Aus RAD Studio API Documentation
Wechseln zu: Navigation, Suche

Delphi

procedure FreeAndNilProperties(AObject: TObject);

C++

extern DELPHI_PACKAGE void __fastcall FreeAndNilProperties(System::TObject* AObject);

Eigenschaften

Typ Sichtbarkeit Quelle Unit Übergeordnet
procedure
function
public
System.TypInfo.pas
System.TypInfo.hpp
System.TypInfo System.TypInfo

Beschreibung

Gibt alle Eigenschaftswerte frei, die Objekte sind, und setzt deren Wert auf nil (Delphi) oder auf NULL (C++).

Mit FreeAndNilProperties können Sie in einem Destruktor alle intern erzeugten Objekte freigeben und die zugehörigen Eigenschaftswerte auf nil (Delphi) bzw. NULL (C++) setzen. FreeAndNilProperties durchsucht die Eigenschaften von AObject und identifiziert diejenigen, die Objekte sind. Diese Objekte werden freigegeben und die korrespondierende Eigenschaft auf nil (Delphi) bzw. NULL (C++) gesetzt.

. Per Vorgabe werden alle persistenten Objekte (TPersistent und davon abgeleitete Klassen) mit RTTI compiliert. Andere Nachkommen von TObject können mit RTTI compiliert werden, indem in Delphi die Compiler-Option $M+ oder in C++ die Direktive __declspec(delphirtti) verwendet wird.

Warnung:  Durch den Aufruf von FreeAndNilProperties werden alle Objekteigenschaften freigegeben. Dies kann zu unbeabsichtigten Ergebnissen führen. FreeAndNilProperties unterscheidet nicht zwischen Objekten, die von AObject erzeugt (und typischerweise in einem Klassenelement gespeichert) werden und Objekten, die unabhängig erzeugt wurden und nicht mit AObject freigegeben werden sollten. Um zu vermeiden, dass unabhängig erzeugte Objekte versehentlich freigegeben werden, setzen Sie vor dem Aufruf von FreeAndNilProperties die Eigenschaften, die externe Objekte referenzieren, auf nil (Delphi) bzw. NULL (C++).

Siehe auch