System.TObject.NewInstance
Delphi
class function NewInstance: TObject {$IFDEF AUTOREFCOUNT} unsafe {$ENDIF}; virtual;
C++
__classmethod virtual __unsafe TObject* __fastcall NewInstance();
プロパティ
種類 | 可視性 | ソース | ユニット | 親 |
---|---|---|---|---|
function | public | System.pas systobj.h |
System | TObject |
説明
オブジェクト型のインスタンスにメモリを割り当て,その新しいインスタンスを指すポインタを返します。
すべてのコンストラクタは NewInstance を自動的に呼び出します。NewInstance は InstanceSize を呼び出して,特定のインスタンスを格納するためにどれだけのメモリをヒープから割り当てる必要があるかを判別します。NewInstance を直接呼び出さないでください。
NewInstance メソッドのオーバーライドは,特別にメモリ割り当てが要求された場合にのみ行います。下位クラスは NewInstance メソッドをオーバーライドして,特定のクラスがメモリを割り当てる方法を変更できます。たとえば,同時にメモリになくてはならない多数の同一オブジェクトをメモリに割り当てる場合,そのオブジェクト群全体に対して単一のメモリブロックを割り当て,NewInstance メソッドをオーバーライドして各インスタンスについてその大きなブロックの一部を使用するようにできます。
NewInstance メソッドをオーバーライドしてメモリを割り当てる場合,メモリの割り当てを解除する FreeInstance メソッドもオーバーライドしなくてはならない場合があります。
メモ: デフォルトでは,NewInstance メソッドは InitInstance メソッドを呼び出します。