Delphiのプロジェクトファイルをいじる その2

ども、Norimakiです。

以前、

>> Delphiのプロジェクトファイルをいじる

ということで、プロジェクトファイルについて書いてみました。
その際、

・GP_StartUpCheck
・GP_Init
・GP_Fin
・GP_Finalize

の関数については改めてという事だったので、
ここでその関数について軽くご紹介しておきます。

まずはプロジェクトソースから。

 
function GP_StartUpCheck:boolean;
begin
 //--------------------------
 // アプリケーション設定
 //--------------------------
 GP_SetApplicationSetting;


 //----------------
 // 初期化呼び出し
 //----------------
 Result:=NP_ApplicationInit;
end;


procedure GP_Init;
var Dt:TDateTime;
begin
 //-------------------------------------------
 // フォーム生成後の初期化呼び出し&データ設定
 //-------------------------------------------
  NP_BeforeRunning;

 //-------------------------------------------
 // スプラッシュフォーム表示
 //-------------------------------------------
 Dt:=Now+EncodeTime(0,0,1,200);             //1.2秒経過後の時刻を取得
 if NV_SplashForm then begin
  Application.MainForm.Visible:=False;
  with frmAbout do begin
   Show;
   Image1.Refresh;
   pnInfo.Refresh;
  end;
 end;

 //------------------------------------------
 // 共通初期設定&登録イベント呼び出し
 //------------------------------------------
 NV_EventManager.DoEvents(etAppInit);

 //--------------------------------------------------
 // ローディング処理を呼び出す
 //--------------------------------------------------
 NV_EventManager.DoEvents(etAppInitLoad);

 //--------------------------------------------------
 // ローディング後処理を呼び出す
 //--------------------------------------------------
 NV_EventManager.DoEvents(etAppInitLoaded);


 //-------------------------------------------
 // スプラッシュフォーム消去
 //-------------------------------------------
 if NV_SplashForm then begin

  //ウェイト
  while Now<Dt do Application.ProcessMessages;

  frmAbout.Close;
  Application.MainForm.Visible:=NV_MainFormShow;
 end;

end;


procedure GP_Fin;
begin
 //------------------
 // 各種データ保存等
 //------------------
 //--------------------------------------------------
 // 保存設定時一度だけ呼ばれるイベントを呼び出す
 // ⇒ アプリケーションで一つだけしか設定してはいけない
 //--------------------------------------------------
 NV_EventManager.DoEvents(etAppFinPreSaveOnce);

 //--------------------------------------------------
 // 保存設定処理を呼び出す
 //--------------------------------------------------
 NV_EventManager.DoEvents(etAppFinPreSave);

 //--------------------------------------------------
 // 保存処理を呼び出す
 //--------------------------------------------------
 NV_EventManager.DoEvents(etAppFinSave);

 //--------------------------------------------------
 // 終了処理を呼び出す
 //--------------------------------------------------
 NV_EventManager.DoEvents(etAppFin);

 //-------------------------------------------
 // アプリケーション終了処理を呼び出す
 //-------------------------------------------
 NP_AfterRunning;
end;


procedure GP_Finalize;
begin
 //--------------------------
 // 各種クリーンアップコード
 //--------------------------
 GP_ApplicationFin;
 NP_ApplicationFin;
end;

前回のプロジェクトソースに追加する形になります。

実際、プロジェクトソースはDelphiのIDEが勝手に
フォームの生成部分などのソースを追加してくれますので、
これまで挙げた部分をプロジェクトファイルに記述しておけば、
手を加えるところはありません。

プロジェクトファイルに関しては、おおまかな動作枠を決める
という役割を担っているにすぎません。

今まで挙げた部分で別の関数を呼び出しているのですが、
実際はそこで処理をします。

ここで実際にやっていることといえば、

・スプラッシュフォームの処理
・イベントマネージャ(NV_EventManager)によるイベント呼び出し
・各種処理の呼び出し

だけです。

単純な構造であるだけにイベントマネージャでどのようなタイミングで
何が呼ばれるのかという事は把握しやすいと思います。

スプラッシュフォームに関しては別途フォームで用意しておきます。
どの様なものでも構いません。

ではでは。
Norimakiでした。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする