フック一覧 CloseBLcl (項目フック) | 前の項目フック 次の項目フック |
VB C# ALL プログラミング言語によるフィルタ (ここで選んだ言語で選別された説明や図だけが表示されます)
◇ 役割 (この項目フックメソッドに委託されている処理)
この項目にかかわるファイルまたはデータベースのクローズなどの閉鎖処理を行う。
◇ 配置 (ツーピーススタイルの場合にこの項目フックメソッドをどこに配置できるか)
セントラルピースに配置するか、または配置しない。ローカルピースに配置することは禁止されている。
◇ 代表的な書き方 (詳しい構文はフックメソッドの書き方を参照)
VB での書き方:
Friend Function CloseBLcl(パラメタ宣言列) As Boolean
または
Friend Function 項目略称_CloseBLcl(パラメタ宣言列) As Boolean
C# での書き方:
internal bool CloseBLcl(パラメタ宣言列)
または
internal bool 項目略称_CloseBLcl(パラメタ宣言列)
Java での書き方:
boolean CloseBLcl(パラメタ宣言列)
または
boolean 項目略称_CloseBLcl(パラメタ宣言列)
なお、フック名としては、CloseBLcl の他に閉鎖現地前を用いることができる。
◇ 呼び出される契機 (以下が切っ掛けとなりこのフックメソッドが呼び出される)
アプリ操作者からこの画面に対して EndCm 指示がなされたとき。 画面フックメソッド CloseBLcl よりも前に呼び出される。 画面フックメソッド Close および項目フックメソッド Close よりも前に呼び出される。
EndCm 指示とは、アプリ操作者がボタン Cm_EndCm をクリックすること、またはメニュー項目 Mn_EndCm をクリックすることか、これに相当する操作 (対応するショートカットキーの押下) をすること、または EndCm に対応づけられたファンクションキーを押下することを意味する。
◇ 戻り値の意味とデフォルト動作 (戻り値による ItemBase への伝言)
ItemBase.CLOSEBLCL_Allow (= True): この画面の終了処理を継続することを許可する。
ItemBase.CLOSEBLCL_Deny (= False): この画面の終了処理をキャンセルせよ。ItemBase は、この伝言を受けると、アプリ操作者からなされた EndCm 指示を無視して、指示がなされなかったかのように振る舞う。つまり、アプリ操作者からなされた EndCm 指示は無効になる。 ただし、プログラムの中で Hide メソッドを発した場合などのように、終了処理のキャンセルが不能な場合には、終了処理は行われることになってしまう。
デフォルト動作: CloseBLcl 項目フックメソッドが組み込まれていない場合の動作は、ItemBase.CLOSEBLCL_Allow が設定された場合と同様である。
開始閉鎖許諾チェックオプションをオンにした場合に限って、戻り値の指定が有効となる。このオプションがオフの場合には、戻り値として ItemBase.CLOSEBLCL_Allow が指定されたものとみなされる。なお、このオプションは、ダイアログ画面オプションで指定できる。
◇ 代行メッセージ (処理の流れに応じて発せられるメッセージ; カスタマイズ可能)
(関係する代行メッセージなし)
◇ 使用上のヒントと注意事項
特定の項目固有の閉鎖処理は、画面フックメソッド Close や CloseBLcl ではなく、この項目フックメソッド CloseBLcl, または Close で行ってください。
ローカル側で行う閉鎖処理は、この項目フックメソッドではなく、項目フックメソッド Close,または画面フックメソッド Close で行ってください。
複数の項目のそれぞれに項目フックメソッド CloseBLcl が組み込まれている場合には、それらの呼出しの順序がどのようになってもよいように、プログラムを作成しておく必要がある。
この中でメソッド SetFocusLogically を呼び出した場合には、画面フックメソッド Close の戻り値が FormBase.CLOSE_Deny の場合に限って効果を発揮する。
◇ 関連事項
閉鎖処理に関係するフックメソッドには、 画面フックメソッド Close,項目フックメソッド Close,画面フックメソッド CloseBLcl,項目フックメソッド CloseBLcl (本フックメソッド) の四つがある。
この項目フックメソッドは、項目フックメソッド OpenALcl と対をなす。
◇ 使用例
' 発注元マスタテーブルをクローズする。 Friend Function 閉鎖現地前(ByVal fB As FormBase) As Boolean CType(fB.myFormHook, 受注業務).発注元レコード.Disconnect() ' Return ItemBase.CLOSEBLCL_Allow End Function ' 閉鎖現地前
// 発注元マスタテーブルをクローズする。 internal bool 閉鎖現地前( FormBase fB ) { ((受注業務)fB.myFormHook).発注元レコード.Disconnect(); // return ItemBase.CLOSEBLCL_Allow; } // 閉鎖現地前
// 発注元マスタテーブルをクローズする。 boolean 閉鎖現地前( FormBase fB ) { ((受注業務) fB.myFormHook).発注元レコード.Disconnect(); // return ItemBase.CLOSEBLCL_Allow; } // 閉鎖現地前