ども、Norimakiです。
以前、
ということで、プロジェクトファイルについて書いてみました。
その際、
・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でした。