フック一覧 ErrorMsg (画面フック) 前の画面フック 次の画面フック

VB C# ALL プログラミング言語によるフィルタ (ここで選んだ言語で選別された説明や図だけが表示されます)

ErrorMsg (エラー表示) 画面フックメソッド

役割 (この画面フックメソッドに委託されている処理)

この画面に関する RelCheck 系フックメソッドのエラーメッセージを表示する。

あるいは、Check 系フックメソッドおよび RelCheck 系フックメソッドのエラーメッセージをここで一括して表示する。

配置 (ツーピーススタイルの場合にこの画面フックメソッドをどこに配置できるか)

ローカルピースに配置するか、または配置しない。セントラルピースに配置することは禁止されている。

代表的な書き方 (詳しい構文はフックメソッドの書き方を参照)

VB での書き方:
 Friend Function ErrorMsg(パラメタ宣言列) As Boolean
 または
 Friend Function 画面略称_ErrorMsg(パラメタ宣言列) As Boolean

パラメタ宣言列の中には、この画面フックメソッド固有のパラメタとして ByVal Cd_Error As Integer を含めることができる。

C# での書き方:
 internal bool ErrorMsg(パラメタ宣言列)
 または
 internal bool 画面略称_ErrorMsg(パラメタ宣言列)

パラメタ宣言列の中には、この画面フックメソッド固有のパラメタとして int Cd_Error を含めることができる。

Java での書き方:
 boolean ErrorMsg(パラメタ宣言列)
 または
 boolean 画面略称_ErrorMsg(パラメタ宣言列)

パラメタ宣言列の中には、この画面フックメソッド固有のパラメタとして int Cd_Error を含めることができる。

Cd_Error には、Check 系または RelCheck 系のフックメソッドの戻り値が設定されている。

なお、フック名としては、ErrorMsg の他にエラー表示を用いることができる。

呼び出される契機 (以下が切っ掛けとなりこのフックメソッドが呼び出される)

Check 系フックメソッドまたは RelCheck 系フックメソッドでエラーが検出され、その戻り値としてゼロ以外の値 (エラーコード) が指定された直後。ただし、再計算 (Recalc) モードでは呼び出されることはない。

戻り値の意味とデフォルト動作 (戻り値による FormBase への伝言)

(戻り値に意味なし)

代行メッセージ (処理の流れに応じて発せられるメッセージ; カスタマイズ可能)

(関係する代行メッセージなし)

使用上のヒントと注意事項

Cd_Error という変数にエラーコードが設定されている。以下の例のようにしてその値を参照することができる。なお、このエラーコードは、Check 系フックメソッドまたは RelCheck 系フックメソッドの戻り値として指定されたものであり、正常終了を告げる戻り値 (ゼロ) の場合にはこのフックメソッドが呼び出されることはない。

エラーメッセージを一括して表示するのではなく、各項目のフッククラスの中で表示するには、項目フックメソッド Response を用いてください。そして、RelCheck 系フックメソッドのエラーに関しては、本フックメソッドで処理してください。

ErrorMsg フックメソッドは、再計算 (Recalc) モードでは呼び出されることはない。

関連事項

項目フックメソッド Check, CheckLC および画面フックメソッド RelCheck, RelCheckLC の戻り値が、この画面フックメソッドに伝えられる。

使用例

' エラーメッセージをここで一括して表示する (ErrorMsg)。
Friend Function エラー表示(ByVal fB As FormBase, ByVal Cd_Error As Integer) As Boolean
    If Cd_Error >= 10000 Then ' RelCheck 系フックメソッドのエラーの場合。
        Dim Msg As String
        Select Case Cd_Error
            Case 10111
                Msg = "返却日は貸出日より後にしてください。"
            Case 10333
                Msg = "年齢制限のために貸出しできません。"
            Case Else
                Msg = "登録されていないメッセージ " + Str(Cd_Error) + "です。"
        End Select
        ' 
        fB.StatusOut(Msg, Color.Red, True)
    End If
    Return True
End Function ' エラー表示
// エラーメッセージをここで一括して表示する (ErrorMsg)。
internal bool エラー表示( FormBase fB, int Cd_Error ) {
    if (Cd_Error >= 10000) { // RelCheck 系フックメソッドのエラーの場合。
        string Msg;
        switch (Cd_Error) {
            case 10111:
                Msg = "返却日は貸出日より後にしてください。";
                break;
            case 10333:
                Msg = "年齢制限のために貸出しできません。";
                break;
            default:
                Msg = "登録されていないメッセージ " + Cd_Error.ToString() + "です。";
                break;
        }
        // 
        fB.StatusOut(Msg, Color.Red, true);
    }
    return true;
} // エラー表示
// エラーメッセージをここで一括して表示する (ErrorMsg)。
boolean エラー表示( FormBase fB, int Cd_Error ) {
    if (Cd_Error >= 10000) { // RelCheck 系フックメソッドのエラーの場合。
        String Msg;
        switch (Cd_Error) {
        case 10111:
            Msg = "返却日は貸出日より後にしてください。";
            break;
        case 10333:
            Msg = "年齢制限のために貸出しできません。";
            break;
        default:
            Msg = "登録されていないメッセージ " + Cd_Error + "です。";
            break;
        }
        // 
        fB.StatusOut(Msg, Color.red, true);
    }
    return true;
} // エラー表示