System.TypInfo.FreeAndNilProperties
Delphi
procedure FreeAndNilProperties(AObject: TObject);
C++
extern DELPHI_PACKAGE void __fastcall FreeAndNilProperties(System::TObject* AObject);
プロパティ
種類 | 可視性 | ソース | ユニット | 親 |
---|---|---|---|---|
procedure function |
public | System.TypInfo.pas System.TypInfo.hpp |
System.TypInfo | System.TypInfo |
説明
オブジェクトであるプロパティ値を解放し,それらの値を nil(Delphi)または NULL(C++)に設定します。
デストラクタから FreeAndNilProperties プロシージャを呼び出すと,内部で作成されたすべてのオブジェクトを解放し,対応するプロパティ値を nil(Delphi)または NULL(C++)に設定します。FreeAndNilProperties は,オブジェクトを示す AObject のプロパティを検索します。FreeAndNilProperties はそれらのオブジェクトを解放し,対応するプロパティを nil(Delphi)または NULL(C++)に設定します。
. デフォルトでは,すべての持続的オブジェクト(TPersistent および下位オブジェクト)は RTTI でコンパイルされます。ほかの TObject 下位オブジェクトは,Delphi ではコンパイラスイッチ $M+,C++ では __declspec(delphirtti) 指令を使って RTTI とともにコンパイルできます。
警告: FreeAndNilProperties を呼び出すと,すべてのオブジェクトプロパティが解放されます。これによって,予期しない結果になることがあります。FreeAndNilProperties は,AObject によって作成された(通常は,クラスメンバーに格納される)オブジェクトと,個別に作成したために AObject で解放してはならないオブジェクトを区別できません。個別に作成したオブジェクトを予期しない形で解放することを防ぐには,外部オブジェクトを示すプロパティを nil(Delphi)または NULL(C++)に設定してから,FreeAndNilProperties を呼び出します。