フック一覧 Response (項目フック) | 前の項目フック 次の項目フック |
VB C# ALL プログラミング言語によるフィルタ (ここで選んだ言語で選別された説明や図だけが表示されます)
◇ 役割 (この項目フックメソッドに委託されている処理)
この項目に関する Check 系フックメソッドのエラーメッセージなどの結果を表示する。
この項目フックメソッドは、Check 系フックメソッドがローカル側で動作しようがセントラル側で動作しようが、その後で必ずローカル側で動作する。したがって、ローカル側で応答を表示することができる。
◇ 配置 (ツーピーススタイルの場合にこの項目フックメソッドをどこに配置できるか)
ローカルピースに配置するか、または配置しない。セントラルピースに配置することは禁止されている。
◇ 代表的な書き方 (詳しい構文はフックメソッドの書き方を参照)
VB での書き方:
Friend Function Response(パラメタ宣言列) As Boolean
または
Friend Function 項目略称_Response(パラメタ宣言列) As Boolean
パラメタ宣言列の中には、この項目フックメソッド固有のパラメタとして ByVal Cd_Error As Integer および ByVal Rm_Object As Object を含めることができる。
C# での書き方:
internal bool Response(パラメタ宣言列)
または
internal bool 項目略称_Response(パラメタ宣言列)
パラメタ宣言列の中には、この項目フックメソッド固有のパラメタとして int Cd_Error および object Rm_Object を含めることができる。
Java での書き方:
boolean Response(パラメタ宣言列)
または
boolean 項目略称_Response(パラメタ宣言列)
パラメタ宣言列の中には、この項目フックメソッド固有のパラメタとして int Cd_Error および Object Rm_Object を含めることができる。
Cd_Error には、Check 系または RelCheck 系フックメソッドの戻り値が設定されている。
Rm_Object には、BackToLocalWith メソッドによってセントラル側から送り込まれた送付オブジェクトが設定されている。
なお、フック名としては、Response の他に応答表示を用いることができる。
◇ 呼び出される契機 (以下が切っ掛けとなりこのフックメソッドが呼び出される)
Check 系フックメソッドが呼び出された後 (チェック結果が正常な場合も含む) に一連の RelCheck 系および Derived 系フックメソッドが呼び出された後。ただし、再計算 (Recalc) モードでは呼び出されることはない。
この項目フックメソッドは、画面フックメソッド ErrorMsg よりも前に呼び出される。
◇ 戻り値の意味とデフォルト動作 (戻り値による ItemBase への伝言)
(戻り値に意味なし)
◇ 代行メッセージ (処理の流れに応じて発せられるメッセージ; カスタマイズ可能)
(関係する代行メッセージなし)
◇ 使用上のヒントと注意事項
Cd_Error というパラメタには、(どのような) エラーなのかまたは正常なのかを示すをコードが設定されている。以下の例のようにしてその値を参照することができる。なお、このエラーコードは、Check 系フックメソッドまたは RelCheck 系フックメソッドの戻り値として指定された値である。
Check 系フックメソッドの戻り値として ItemBase.CHECK_OK (= 0) が指定された場合にも、このフックメソッドが呼び出されて、その値 (ゼロ) が通知される。したがって、エラーのない場合にも何らかの応答表示をすることができる。もしもエラーのない場合には、何も応答しないのであれば、そのようにプログラミングすればよい。
Cd_Error というパラメタに RelCheck 系フックメソッドの戻り値が設定されていることもあるが、そうした場合には本フックメソッドの中では何もせずに、画面フックメソッド ErrorMsg の中で処理することをお勧めする。このための Check 系フックメソッドと RelCheck 系フックメソッドで検出したエラーを簡単に区別できるように、前者の値は 10000 より小さい値にし、後者は 10000 以上の値にすることをお勧めする
Response フックメソッドは、再計算 (Recalc) モードでは呼び出されることはない。
◇ 関連事項
この項目フックメソッド Response に似たものに、画面フックメソッド ErrorMsg がある。ErrorMsg のパラメタにも Cd_Error というパラメタを書くことができる。ErrorMsg は、Response と異なり、Cd_Error が 0 の場合には、呼び出されることはない。
◇ 使用例
' Check 系フックメソッドのエラーメッセージを表示する (Response)。 Friend Function 応答表示(ByVal fB As FormBase, ByVal Cd_Error As Integer) As Boolean Dim Msg As String = Nothing Select Case Cd_Error Case ItemBase.CHECK_OK ' エラーでない場合は、何もしない。 Case 300 Msg = "商品コードに誤りがあります。" Case Else If Cd_Error < 10000 Then ' RelCheck エラーでない場合。 Msg = "登録されていないメッセージ " + Cd_Error.ToString() + " です。" End If End Select ' If Not (Msg Is Nothing) Then fB.StatusOut(Msg, Color.Red, True) End If Return True End Function ' 応答表示
// Check 系フックメソッドのエラーメッセージを表示する (Response)。 internal bool 応答表示( FormBase fB, int Cd_Error ) { string Msg = null; switch (Cd_Error) { case ItemBase.CHECK_OK: // エラーでない場合は、何もしない。 break; case 300: Msg = "商品コードに誤りがあります。"; break; default: if (Cd_Error < 10000) { // RelCheck エラーでない場合。 Msg = "登録されていないメッセージ " + Cd_Error.ToString() + " です。"; } break; } // if (!(Msg == null)) { fB.StatusOut(Msg, Color.Red, true); } return true; } // 応答表示
// Check 系フックメソッドのエラーメッセージを表示する (Response)。 boolean 応答表示( FormBase fB, int Cd_Error ) { String Msg = null; switch (Cd_Error) { case ItemBase.CHECK_OK: // エラーでない場合は、何もしない。 break; case 300: Msg = "商品コードに誤りがあります。"; break; default: if (Cd_Error < 10000) { // RelCheck エラーでない場合。 Msg = "登録されていないメッセージ " + Cd_Error + " です。"; } break; } // if (!(Msg == null)) { fB.StatusOut(Msg, Color.red, true); } return true; } // 応答表示