API version 1

- 11

postInterContextMessage

コンテキスト(タブ)を跨いでメッセージを送信します。

メッセージは該当するコンテキストのRootオブジェクトに InterContextMessage イベントとして通知されます。


他のBiz/Browser DTプロセスのコンテキストに対しての送信はできません。

他のプロセスへの送信が必要な場合 EventSender クラス、 EventListener クラスが利用可能です。

呼出形式一覧

呼出形式

説明

integer postInterContextMessage(string contextId, param)

指定のコンテキストIDのコンテキストにparamを送信します。

integer postInterContextMessage(string serviceId, string portId, param)

指定のサービスID, ポートIDのコンテキストにparamを送信します。

戻り値一覧

戻り値

説明

integer

送信できたコンテキスト(タブ)の数が返ります。

送信先が発見できなかった場合、0が返ります。

引数一覧

引数

説明

contextId

送信先コンテキストIDを指定します。

param

受信先イベント(後述)に付与されるパラメータを指定します。
Mapオブジェクトまたはbinary値を渡すことが可能です。
Mapオブジェクトが渡された場合、Mapオブジェクトの値をbinary値に変換したものが実際に送信されます。
Mapオブジェクトが空の場合、送信すべきデータがないためメッセージは送信されません。

binary値を渡した場合、キー"body"に当該binary値がセットされたMapオブジェクトが送信されます。

serviceId

送信先サービスIDを指定します。

portId

送信先ポートIDを指定します。

"*"を指定することで、同一のサービスIDを持つコンテキスト(タブ)に送信します。

例外

識別子

説明

SYS-23:5

メソッドの引数が不正です

CRS::Common::Core::Application-1:1

宛先が曖昧です

関連項目

getCurrentContextInfosetCurrentContextInfo メソッド



使用例 CRSダウンロード

Form Application_postInterContextMessage {
   x = 0;
   y = 0;
   width = 800;
   height = 600;
   Button button1 {
           x = 40;
           y = 40;
           width = 216;
           height = 72;
           title = "他のタブをアクティブにする";
           function onTouch(e) {
                   # 他のコンテキストにメッセージを送信
                   var param = new Map;
                   param["command"] = "activate";
                   Application.postInterContextMessage("AppMessage", "id001", param);
           }
   }
}