System.InitProc

提供: RAD Studio API Documentation
移動先: 案内検索

Delphi

InitProc: Pointer;        { Last installed initialization procedure }

C++

extern DELPHI_PACKAGE void *InitProc;

プロパティ

種類 可視性 ソース ユニット
variable public
System.pas
System.hpp
System System


説明

InitProc は、最後にインストールされる初期化プロシージャです。

InitProc に値を割り当てると、アプリケーションの起動時に実行したいプロシージャを指定することができます。InitProc の値は、パラメータなしのプロシージャです。たとえば、

  • Delphi では、割り当てはユニットの初期化セクションで行われます。
procedure MyInitProcedure;
  ...
initialization
  InitProc := @MyInitProcedure;
end.
  • C++ では、割り当てはプロジェクト ソース ファイル内で最も簡単に行われます。
WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)
{
  try
  {
    // 呼び出しは、Application->Initialize(); の前でなければなりません。
    System.InitProc = MyInitProcedure;
    Application->Initialize();
    Application->CreateForm(__classid(TForm1), &Form1);
    Application->Run();
  }
  catch (Exception &exception)
  {
    Application->ShowException(&exception);
  }
  catch (...)
  {
    try
    {
      throw Exception("");
    }
    catch (Exception &exception)
    {
      Application->ShowException(&exception);
    }
  }
  return 0;
} 

InitProc 変数に割り当てることのできる初期化プロシージャは、1 つだけです。アプリケーションで複数の初期化プロシージャを定義している場合、InitProc への最後の割り当てのみが実行されます。他の初期化プロシージャを実行させるには、それらのプロシージャ群を「連鎖」させる必要があります。これを行うには、InitProc の新しい値から、その前の割り当て値を呼び出すようにします。

関連項目