API version 1
- ‐

EventSender

外部イベントを送信するためのクラスです。

Biz/Browser VのEventListenerクラスや、BizLink.dll(BizEventListenerオブジェクト)と互換性があり、それらに対しイベントを送信することができます。

スタティックメソッドのみ定義されたクラスです。 インスタンスを生成する必要はありません。


postExternalEventメソッドを呼び出すと、外部イベントが送られます。

受け手を特定した送付

serviceにサービス名、portIdにポートIDを指定した場合、受け手が特定され、対応するサービス名とポートIDを持つ受け手へイベントが伝えられます。イベントの送付前に、指定したserviceとportIdの正当性検査が行われ、対応するサービス名とポートIDを持つ受け手が待ち受け状態にあることが確認されます。

受け手を特定しない送付(マルチキャスト)

serviceにサービス名、portIdに"*"を指定した場合、受け手を特定せず、同一のサービス名を持つすべての受け手にイベントが伝えられます。この場合、受け手の存在は確認されません。

外部イベントの伝達保証

すべての外部イベントは、伝達保証がありません。従って、受け手により実際にイベントが受け取られたことを確認することや、受け手が送り手に応答を返すことはできません。


送り手が、受け手によりイベントが処理されたことを確認するためには、受け手から別の外部イベントとして、送り手に応答結果を返すなどの処理が必要となります。

postExternalEventメソッドの復帰

postExternalEventメソッドは、送付する外部イベントを受け取る相手により、復帰する契機が異なります。


送付された外部イベントをBiz/Browserが受け取った場合、対応するイベントハンドラの有無に関わらず、イベントキューに格納されpostExternalEventの呼び出しは直ちに復帰します。

送付された外部イベントをBizEventListener ActiveXオブジェクトが受け取った場合、ActiveXのイベント処理が完了するまでpostExternalEventはブロックされます。従って、外部イベントの処理中にBiz/Browserの応答が必要となるような操作を実行すると、デッドロック状態に陥る可能性があることに注意してください。

マルチキャスト指定の場合、全ての受け手に対して上記と同様の送付が行われた後に復帰します。