イベント

 

EventListenerクラスはイベントを受信するためのクラスですが、EventListenerクラス固有のイベントは定義されていません。

 

PostExternalEventメソッドで指定されたイベントが発生します。例えば、以下の例のようになります。

 

送り側

 

EventSender sender {
    Function sendEvent() {
        PostExternalEvent("Test", "P1", "Sample", "hello");
    }
}

 

 

受け側

 

EventListener listener {
    Service = "Test";
    PortId = "P1";
    StartListen();
    Function OnSample(e) {
        MessageBox(e.param);
    }
}

 

この例の場合、PostExternalEventメソッドの第3パラメータeventNameにより"Sample"が渡されているので、受け手にはSampleイベントが発生します。このイベントはOnSampleイベントハンドラで受け取ることができます。

 

PostExternalEventで送付されたイベントには、paramというString型、またはUString型の子オブジェクトが含まれています。paramには、PostExternalEventの第4パラメータparamで指定した文字列が格納され、アプリケーションの自由な用途で利用することができます。

よりEventListenerValueTypeの指定をUStringに指定することにより、paramUString型として受け取ることが可能になりました。

 

複数のパラメータをイベントハンドラに渡したい場合、以下のようにデリミタを使って1個の文字列にまとめて送付する必要があります。

 

送り側

 

Number NumData1;
Number NumData2;
String StrData1;
String StrData2;
    
var param;
param = str(NumData1) + "//" + str(NumData2) + "//" + StrData1 + "//" + StrData2;
sender.PostExternalEvent("Test", "P1", "Sample", param);

 

受け側

 

Function OnSample(e) {
    var param = e.param.Split("//");
    var NumData1 = val(param[0]);
    var NumData2 = val(param[1]);
    var StrData1 = param[2];
    var StrData2 = param[3];
}

 

この例ではデリミタに"//"を使用しましたが、アプリケーションで利用される文字列の特性に合わせて、適切なデリミタを選択してください。

 

 

クラス概要

 



「オンラインマニュアル」一覧へ戻る
「Bizの宝箱」TOPへ戻る