メンバ一覧 invokeCentral 前のメソッド 次のメソッド

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

invokeCentral メソッド (FormBase)

機能および役割

パラメタで指定された送付オブジェクトをセントラル側に送信し、画面フックメソッド Central を呼び出し、その戻り値の受領オブジェクトをセントラル側から受信する。

所属クラス (ツーピーススタイルの場合にこのメソッドが宣言されているクラス)

AppliTech.WorkFrame.FormBase (ローカル)

呼出し方

fB.invokeCentral(送付オブジェクト)

(ただし fB は、クラス FormBase のインスタンス)

戻り値の型および意味

戻り値の型: オブジェクト型 (Object, object)

意味: 受領オブジェクト。

パラメタの型および意味

送付オブジェクト (オブジェクト型): このオブジェクトをセントラル側に送付する。

例外の発生 (誤った呼出しの際に発生する例外)

「Central フックメソッドが見つかりません (invokeCentral)」

「Local 処理中に Central 呼び出し (invokeCentral)」

「BeginPrg フックメソッドの処理が未完了なので使用できません (invokeCentral)」

「I/R 処理中 (初期値派生処理中または Recalc モード) なので使用できません (invokeCentral)」

「現 FormBase でないので使用できません (invokeCentral)」

「フックメソッド Local の中なので使用できません (invokeCentral)」

「フックメソッド Central の中なので使用できません (invokeCentral)」

「存在しない画面フックメソッド Central の呼び出し (invokeCentral)」

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

送受信するオブジェクトは、<Serializable()> または [Serializable()] 指定をした Public Class として、ローカル・セントラル双方のソリューションから共に参照できるアセンブリに含めて、ローカルプロジェクトおよびセントラルプロジェクトから参照設定することが必要。したがって、これらを定義したクラスモジュールは、ca プロジェクトに含めるのがお勧め。

送受信するオブジェクトは、java.io.Serializable インターフェースを実装した public クラスとして、ローカル・セントラル双方から共に参照できることが必要。したがって、これらを定義したクラスモジュールは、ca プロジェクトに含めるのがお勧め。

関連事項

RHMI (Remote Hook Method Invocation) に関係するメソッドには、 ローカル側の FormBase のメソッド invokeCentral (本メソッド),ローカル側の ItemBase のメソッド invokeCentral,セントラル側の FormBase のメソッド invokeLocal,セントラル側の ItemBase のメソッド invokeLocal の四つがある。

ローカル・セントラル間の通信に関するメソッドには、 FormBase のフックメソッド BackToLocalWith,FormBase のフックメソッド invokeCentral (本メソッド),ItemBase のフックメソッド invokeCentral,FormBase のフックメソッド invokeLocal,ItemBase のフックメソッド invokeLocal の五つがある。

使用例

Friend Function FbInvokeCentral_GetEvent(ByVal fB As FormBase) As Boolean
    Dim AnswerObj As Object = fB.invokeCentral("FbInvokeCentralTest")
    If Not (AnswerObj Is Nothing) Then
        Dim AnswerStr As String = CType(AnswerObj, String)
        fB.MessageBoxShow("サーバ マシン名=[" + AnswerStr + "]")
    End If
    Return FormBase.GETEVENT_Allow
End Function
internal bool FbInvokeCentral_GetEvent( FormBase fB ) {
    object AnswerObj = fB.invokeCentral("FbInvokeCentralTest");
    if (AnswerObj != null) {
        string AnswerStr = (string)AnswerObj;
        fB.MessageBoxShow("サーバ マシン名=[" + AnswerStr + "]");
    }
    return FormBase.GETEVENT_Allow;
}
boolean FbInvokeCentral_GetEvent( FormBase fB ) {
    Object AnswerObj = fB.invokeCentral("FbInvokeCentralTest");
    if (AnswerObj != null) {
        String AnswerStr = (String) AnswerObj;
        fB.MessageBoxShow("サーバ マシン名=[" + AnswerStr + "]");
    }
    return FormBase.GETEVENT_Allow;
}