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

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

invokeCentral メソッド (ItemBase)

機能および役割

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

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

AppliTech.WorkFrame.ItemBase (ローカル)

呼出し方

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

(ただし iB は、クラス ItemBase のインスタンス)

戻り値の型および意味

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

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

パラメタの型および意味

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

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

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

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

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

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

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

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

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

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

送受信するオブジェクトは、<Serializable()> または [Serializable()] 指定をした Public Class として、ローカル・セントラル双方のソリューションから共に参照できるアセンブリに含めて、ローカルプロジェクトおよびセントラルプロジェクトから参照設定することが必要。したがって、これらを定義したクラスモジュールは、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 生徒管理_生徒番号_SList(ByVal fB As FormBase, _
                                        ByVal iB_生徒番号 As ItemBase, _
                                        ByVal Ct_生徒番号 As Control) As WrpInteger
    Dim sListBox As SimpleSlistBox = New SimpleSlistBox("生徒番号", 20, 8)
    ' サーバから SList 表示用データを受け取ります。
    Dim sListData As SimpleSlistModel = CType(iB_生徒番号.invokeCentral("SLIST"), SimpleSlistModel)
    sListBox.SetItems(sListData)
    sListBox.SetTargetControl(Ct_生徒番号)
    Dim res As DialogResult = sListBox.ShowDialog(fB.myForm)
    If res = DialogResult.OK Then
        Dim keyObj As Object = sListBox.GetSelectedKey()
        If keyObj Is Nothing Then
            Return Nothing
        End If
        Return CType(keyObj, WrpInteger)
    Else
        Return Nothing
    End If
End Function
internal WrpInteger 生徒管理_生徒番号_SList( FormBase fB,
                                          ItemBase iB_生徒番号,
                                          Control Ct_生徒番号 ) {
    SimpleSlistBox sListBox = new SimpleSlistBox("生徒番号", 20, 8);
    // サーバから SList 表示用データを受け取ります。
    SimpleSlistModel sListData = (SimpleSlistModel)iB_生徒番号.invokeCentral("SLIST");
    sListBox.SetItems(sListData);
    sListBox.SetTargetControl(Ct_生徒番号);
    DialogResult res = sListBox.ShowDialog(fB.myForm);
    if (res == DialogResult.OK) {
        Object keyObj = sListBox.GetSelectedKey();
        if (keyObj == null) {
            return null;
        }
        return (WrpInteger)keyObj;
    }
    else {
        return null;
    }
}
public Integer 生徒管理_生徒番号_SList( FormBase fB, ItemBase iB_生徒番号,
        JComponent Ct_生徒番号 ) {
    SimpleSlistBox sListBox = new SimpleSlistBox("生徒番号", 20, 8);
    // サーバから SList 表示用データを受け取ります。
    SimpleSlistModel sListData = (SimpleSlistModel) iB_生徒番号.invokeCentral("SLIST");
    sListBox.SetItems(sListData);
    sListBox.SetTargetControl(Ct_生徒番号);
    DialogResult res = sListBox.ShowDialog(fB.myForm);
    if (res == DialogResult.OK) {
        Object keyObj = sListBox.GetSelectedKey();
        if (keyObj == null) {
            return null;
        }
        return (Integer) keyObj;
    } else {
        return null;
    }
}