実行時、.NETオブジェクトはイベントを発行させることができます。Magic uniPaaSのイベントハンドラはこれらのイベントを処理することができます。
イベント用のロジックユニットを作成し、[イベントタイプ]を「.NET」に設定してください。
.NET項目か.NETクラスを定義することで.NETイベントを選択することができます。
[イベント]ロジックユニットが.NET項目で定義された場合、指定された項目に対応するロジックユニットになります。
[イベント]ロジックユニットが.NETクラスで定義された場合、タスクや実行時のタスクツリー内に定義されているオブジェクトの任意のインスタンスに対する汎用的なロジックユニットになります。これは、さまざまなオブジェクトのオブジェクトレベルのイベントに対して適用されます。
処理するイベントを選択すると、Magic uniPaaSは、オブジェクトがパラメータを受け取るかどうかをチェックします。パラメータを受け取る場合は、自動的にパラメータ項目を作成するかどうかを確認するメッセージを表示します。
伝播とイベント処理規則
Magic uniPaaSは、2つのタイプの.NETオブジェクトとその応答を区別して処理します。
フォームに配置される.NETオブジェクトの場合:
[.NET]コントロール上のイベントは、Magicイベントとして処理されます。
これは、親タスクでオブジェクトタイプを選択するだけで、[伝播]特性を使用することができることを意味しています。
フォームに配置されない.NETオブジェクトの場合:
.NETオブジェクトがイベントを発行した場合、2つの異なる.NET項目が同じ.NETオブジェクトを参照することができるため、Magic
uniPaaSは、項目が定義されている各タスク内でイベントを発行します。
例えば、タスク1に項目Aが、タスク2に項目Bが定義されている場合、項目Bが項目Aで更新され、両方のタスクに.NETイベントに対するロジックユニットが定義されているとすると、.NETオブジェクトがイベントを発行すると、それは両方のタスクでイベントが処理されます。
[伝播]特性は、このようなイベントには関係しません。
タスクが項目を定義しないで定義されたハンドラのみを持っている場合、イベントは処理されず使用されないことを意味しています。
タスク内の.NETクラス用の一般的なハンドラを使用することができますが、それを作動させるためには、そのクラスに対応する項目をタスク内に定義する必要があります。
イベントパラメータ
Magicイベントと同じように.NET イベントにもパラメータが必要なものがあります。
イベントによってはほとんどの場合、.NETイベントに対応するロジックユニットを定義する際、2つのパラメータ(senderとe)がロジックユニットに追加されます。senderは、イベントが発行されたオブジェクトで、eはイベントパラメータです。senderは、「オブジェクト」という.NETタイプが定義されています。これは汎用的なオジェクトであり、簡単に処理することはできません。
DNCast関数を使用してオブジェクトタイプを特定の.NETオブジェクトに変換することができます。例えば、System.Windows.Forms.TextBoxはこのオブジェクトを参照し、System.Windows.Forms.TextBoxのすべてのプロパティとメソッドにアクセスすることができます。
DNCast関数を使用することで、以下のように.NETオブジェクトタイプを直接指定することができます。
DNCast(A,DotNet.System.Windows.Forms.TextBox).Text