System.Initialize
Delphi
procedure Initialize(var V; [ Count: NativeUInt]); overload;
procedure Initialize(var V; [ Count: NativeUInt]); overload;
プロパティ
種類 | 可視性 | ソース | ユニット | 親 |
---|---|---|---|---|
procedure | public | System.pas | System | System |
説明
Initialize は,動的に割り当てた変数を初期化します。
標準プロシージャ New 以外の方法で変数を動的に割り当てる Delphi コードの場合にのみ Initialize プロシージャを使用します。
New を使って割り当てるグローバル変数,ローカル変数,オブジェクト,動的変数では,変数を作成するときにその変数が保持するすべての長い文字列とバリアントを初期化するコードがコンパイル時に生成されます。Initialize の呼び出しは,以下の場合に,使用する前に変数を初期化するために必要になります。
- 標準プロシージャ New 以外の方法(GetMem や ReallocMem を使用する方法など)で動的変数を作成した場合
- 変数が長い文字列またはバリアントを保持する場合
- 変数に割り当てられたメモリが 0 に初期化されていない場合
Initialize は,長い文字列とバリアントが占めるメモリを 0 にするので,長い文字列が空に,バリアントが Unassigned に設定されます。
連続メモリブロックで複数の変数を割り当てる場合,追加の Count パラメータを指定すると 1 回の処理ですべての変数を初期化できます。
Initialize の呼び出しで指定した変数が長い文字列もバリアントも保持しない場合,コンパイラはその呼び出しを削除し,呼び出しのコードを生成しません。