イベント処理サブルーチンを IBM® ソフトウェアオブジェクトに対応したイベントにバインドしたり、バインドを解除したりします。
On Event eventName From prodObject { Call handlerName | Remove [ handlerName ] }
eventName
製品固有のクラス定義に記述されているイベント名です。
prodObject
製品のオブジェクトへの参照を値に持つ式です(ユーザー定義のクラス定義にはイベントを記述できません)。
Call
handlerName サブルーチンを、指定した prodObject の指定した eventName にバインドします。
handlerName
指定した eventName と prodObject のエラー処理サブルーチンの名前。指定したオブジェクトに指定したイベントが発生するたびに、handlerName が呼び出されます。
Remove
handlerName サブルーチンをオブジェクトとイベントの組から解放します。handlerName が記述されていないと、このステートメントはすべてのイベント処理サブルーチンをオブジェクトとイベントの組から解放します。
イベント処理サブルーチンは、他のサブルーチンと同じように定義されます。ただし、最初のパラメータはイベントを発生させる製品オブジェクトへの参照でなければなりません。残りのパラメータは、製品クラスのイベントによって定義され、ハンドラの呼び出し内で使用されます。
複数の On Event ステートメントを使用して、同じオブジェクトの同じイベントに対して複数のイベント処理サブルーチンを指定できます。同じイベントに対してバインドしたイベント処理サブルーチンの実行順序は不定です。
関数が必要となるのは、イベントがハンドラからの戻り値を必要とする場合だけです。