フック一覧 UpdateChk (画面フック) | 前の画面フック 次の画面フック |
VB C# ALL プログラミング言語によるフィルタ (ここで選んだ言語で選別された説明や図だけが表示されます)
この画面フックメソッドは、主にアプリフレームと呼ばれる画面アプリのための上位フレームワークを設計する方々がお使いになるものです。一般のアプリ開発者の方々は、上位フレームワーク設計者から示された情報があれば、必ずしもここの内容を詳細に知る必要はありません。
◇ 役割 (この画面フックメソッドに委託されている処理)
この画面アプリを更新モードに移行してよいかどうかの関門チェックを行う。そして、必要に応じて更新モードに移行するにあたっての初期設定処理 (下図の中の橙色で示した更新モード向け初期設定処理) を行う。
役割を果たした後の動作: 関門チェックを通過し初期設定処理が済んだ後は、直ちに更新モードになり、画面がひとたび初期化された後に、画面フックメソッド Current が呼び出されて、カレント画面データが画面に表示されると共に、アプリ操作者からのインプットが受け付けられるようになる。
この後はアプリ操作者の指示次第でいろいろな処理の流れになり得るが、アプリ操作者が更新モードでのインプットを終えて実行の指示 (Execute 指示) を行うことで、画面フックメソッド Update が呼び出されるのが本流である。
関門チェックにおいて拒否した場合 (つまり更新モードへの移行を許可しなかった場合) は、動作モードは変わらず元のままであり、何事もなかったかのように画面上のデータも変更されずに残る。
◇ 配置 (ツーピーススタイルの場合にこの画面フックメソッドをどこに配置できるか)
ローカルピースかセントラルピースかのどちらか一方に配置する。または、どちらにも配置しない。
◇ 代表的な書き方 (詳しい構文はフックメソッドの書き方を参照)
VB での書き方:
Friend Function UpdateChk(パラメタ宣言列) As Boolean
または
Friend Function 画面略称_UpdateChk(パラメタ宣言列) As Boolean
C# での書き方:
internal bool UpdateChk(パラメタ宣言列)
または
internal bool 画面略称_UpdateChk(パラメタ宣言列)
Java での書き方:
boolean UpdateChk(パラメタ宣言列)
または
boolean 画面略称_UpdateChk(パラメタ宣言列)
なお、フック名としては、UpdateChk の他に UpdateC および更新モードを用いることができる。
◇ 呼び出される契機 (以下が切っ掛けとなりこのフックメソッドが呼び出される)
アプリ操作者からこの画面を更新モードに変えよという指示 (UpdateC 指示) がなされたとき。または、動作モードの遷移に関する画面フックメソッド (Append, Delete, IndicateExec, SelectFh, SelectExec, Update) の戻り値によって更新モードに変えよという伝言がなされた後。
UpdateC 指示とは、アプリ操作者がボタン Cm_UpdateC をクリックすること、またはメニュー項目 Mn_UpdateC をクリックすることか、これに相当する操作 (対応するショートカットキーの押下) をすること、または UpdateC に対応づけられたファンクションキーを押下することを意味する。
◇ 戻り値の意味とデフォルト動作 (戻り値による FormBase への伝言)
FormBase.UPDATECHK_Allow (= True): 更新モードへの移行を許可せよ。
FormBase.UPDATECHK_Deny (= False): 更新モードへの移行を拒否せよ。FormBase は、この伝言を受けると、アプリ操作者からなされた UpdateC 指示を無視して、指示がなされなかったかのように振る舞う。つまり、アプリ操作者からなされた UpdateC 指示は無効になる。
デフォルト動作: UpdateChk 画面フックメソッドが組み込まれていない場合の動作は、FormBase.UPDATECHK_Allow が設定された場合と同様である。
◇ 代行メッセージ (処理の流れに応じて発せられるメッセージ; カスタマイズ可能)
メッセージコード: "UPDATEC"
"更新モードに変更してよいですか? (一部のデータをインプットしていても、 なかったものとみなされます。)"
◇ 使用上のヒントと注意事項
このフックメソッドの中で、更新モードへの移行を拒否することにした場合は、適当なメッセージをアプリ操作者に向けて発してから、戻り値を FormBase.UPDATECHK_Deny にしてください。
アプリ操作者は、何のメッセージも示されないと、自分の指示どおりに更新モードへの移行がなされものと期待する。そこで、この期待に応えるためには、戻り値を FormBase.UPDATECHK_Allow にすることが必要である。
データ更新型アプリのプログラムの開始時には、戻り値として必ず FormBase.UPDATECHK_Allow を設定してください。
◇ 関連事項
動作モードの変更を関門チェックする画面フックメソッドには、この他に AppendChk, Indicate, SelectFh がある。
◇ 使用例
' 更新モードへの移行の際のチェックを行う (UpdateChk)。 Friend Function 更新モード() As Boolean If Not CType(fB.myForm, Fr_受注業務).BackColor.Equals(System.Drawing.ColorTranslator.FromOle(&HFFC0C0)) Then CType(fB.myForm, Fr_受注業務).BackColor = System.Drawing.ColorTranslator.FromOle(&HFFC0C0) CType(fB.myForm, Fr_受注業務).Refresh() End If ' Return FormBase.UPDATECHK_Allow End Function ' 更新モード
// 更新モードへの移行の際のチェックを行う (UpdateChk)。 internal bool 更新モード( ) { if (!((Fr_受注業務)fB.myForm).BackColor.Equals(System.Drawing.ColorTranslator.FromOle(0xFFC0C0))) { ((Fr_受注業務)fB.myForm).BackColor = System.Drawing.ColorTranslator.FromOle(0xFFC0C0); ((Fr_受注業務)fB.myForm).Refresh(); } // return FormBase.UPDATECHK_Allow; } // 更新モード
// 更新モードへの移行の際のチェックを行う (UpdateChk)。 boolean 更新モード( ) { if( ! ((Fr_受注業務) fB.myForm).BackColor.equals(System.Drawing.ColorTranslator.FromOle(0xFFC0C0)) ) { ((Fr_受注業務) fB.myForm).BackColor = System.Drawing.ColorTranslator.FromOle(0xFFC0C0); ((Fr_受注業務) fB.myForm).Refresh(); } // return FormBase.UPDATECHK_Allow; } // 更新モード