Vcl.Forms.TApplication.Initialize
Delphi
procedure Initialize;
C++
void __fastcall Initialize();
プロパティ
種類 | 可視性 | ソース | ユニット | 親 |
---|---|---|---|---|
procedure function |
public | Vcl.Forms.pas Vcl.Forms.hpp |
Vcl.Forms | TApplication |
説明
サブシステムを初期化する機会を提供します。
Initialize メソッドは,プロジェクトソースファイルで呼び出される最初のメソッドです。このメソッドは InitProc 手続きポインタを呼び出します。デフォルトでは,アプリケーションの Initialize を呼び出しても,デフォルトの InitProc ポインタが nil(Delphi)または NULL(C++)なので何も起こりません。
Initialize を使用するには,InitProc ポインタを事前に定義しておく必要があります。それには,以下のいずれかの方法を実行します。
Delphi では,ComObj ユニットなど,initialization セクションの InitProc にプロシージャを割り当てるユニットを含めることができる。この割り当てはどのユニットの initialization セクションでも行うことができる。
Delphi と C++ では,InitProc ポインタに値を割り当てるカスタム initialization プロシージャを作成し,このプロシージャの呼び出しを Initialize の呼び出しの前にあるプロジェクトソースに追加できる(Delphi では,これを宣言するユニットの initialization 部に追加できます。C++ では,このユニットにある #pragma startup 指令を使用できます)。
警告: アプリケーションでは,InitProc のインスタンスを 1 つしか定義できません。複数のユニットが InitProc に値を割り当てると,最後に割り当てた値だけが有効になります。ただし,初期化手続きから直前の InitProc の値を呼び出すと,すべての初期化手続きが実行されます。
InitProc に値を割り当てないプロジェクトの場合は,プロジェクトソースから Initialize の呼び出しを問題なく削除できます。
メモ: Initialize はプロジェクトのメインソースコードで呼び出される最初のメソッドですが,GUI アプリケーションで実行される最初のコードではありません。たとえば,Delphi の場合,アプリケーションはまずアプリケーションが使用する全ユニットの initialization セクションを実行します。