アプリケーションベースファイル 【NY_Application.pas】

ども、Norimakiです。
今回はアプリケーションベースファイル【NY_Application.pas】について。

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

ここら辺(↑)で使用する関数を NY_Application.pas で定義します。基本的にはアプリケーションの開始と終了の際に処理する部分を定義します。

・アプリケーションで使用する共通クラスの領域確保、解放
・多重起動チェック
・エラーメッセージ、エラーコードの定義
・システムエラーメッセージ処理
・浮動小数点例外処理
・システム変数の設定

・フォーム位置、サイズの保存、復元
・ユーザーアカウント処理
・IniFile処理
・ライセンスチェック

こんな感じです。

で、NY_から始まるユニットは基本的にアプリケーションごとの変更は不要です。
なので、共通ファイルなわけですが。

アプリケーションごとに変更が必要なファイルに関しては、GP_といった
Gから始まるユニット名になっています。

では、取りあえず簡単なところから。

多重起動チェック

多重起動チェックについてはすでに過去に記事にしていますので、
そちらを参考にして下さい。

>> 多重起動チェック

エラーメッセージ、エラーコードの定義、システムエラーメッセージ処理

システムエラーメッセージ処理については、
プロジェクトファイルでアプリケーション起動チェックを行い
起動が出来ない場合に呼ばれる処理になります。

その表示内容は、エラーメッセージ、エラーコードの定義に従います。
エラーメッセージ、エラーコードの定義については、

>> 多重起動チェック

にて記述してありますので参照してください。

エラーメッセージの表示は特に問題ありませんが、
一応ソースを表示しておきます。

こんな感じになります。

起動チェックの各処理部分でエラーなり起動が許可できない状況になると
NV_FatalErrorCodeにエラーコードを入れて戻ります。

プロジェクトファイルではエラーが発生すると
NP_DisplaySystemErrorが呼ばれることになっていますので、
エラーコードに従ったメッセージが表示されることになります。

NP_DispErrMesはエラーメッセージを表示するためのもので、

MessageDlg(Mes,mtError,[mbOK],0);

これと同義です。

浮動小数点例外処理

浮動小数点例外処理は良く意味が解りませんが、
途中で例外が起きてエラーメッセージが表示されるのが面倒くさいので、
それを表示させないためのものです。

どこで入手したものか失念してしまいましたが、
以下ソースです。

NV_SaveFPUMaskで現在の設定を保存していますので、
アプリケーション終了時に戻してあげる必要があります。

Math.SetExceptionMask(NV_SaveFPUMask);

こんな感じで。

詳しくは NP_ApplicationFin でやります。

システム変数の設定

システム変数というのは、実行中のフォルダのパスとか、
ユーザー名だとかユーザーフォルダとか。

そういったアプリケーションで使用する基本的な変数です。
必要に応じて設定します。

あまり数は多くないので具体的な例は省略します。
基本的には

・実行フォルダ
・ユーザーデータ保存フォルダ
・システムフォルダ

こんな感じになろうかと思います。

あとは、ユーザーフォルダが存在しない場合は
ユーザーフォルダを作成したりもします。

取りあえず今回はこのくらいで。
続きは改めて。

ではでは。
Norimakiでした。

シェアする

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

フォローする