イベントレベル

Magicエンジン > エンジン実行レベル

イベントレベルでは、無手順で発生したイベントに対して、対応するハンドラを処理します。ハンドラは、タスクレベルとレコード、またはグループやコントロールレベルの間に定義できます。

イベントレベルには、以下の定義項目があります。

ユニット

イベント

イベント

[イベント]ダイアログによって、イベントのタイプとイベントの内容を設定します。

コントロール名

コントロール名を指定します。

フォーム上のコントロール名を直接入力するか、[コントロール名一覧]から選択します。

コントロール名を入力することで、以下の利点があります。

  • コントロールを定義する前に、コントロールハンドラを作成できます。

  • 異なるGUIフォーム上に同じ名前のコントロールがある場合に対応できます。

  • 一度コントロールが削除されても、同じ名前で再定義することでハンドラとのリンクが確保されます。

フォームに追加する前にコントロール名を入力することができます。

指示

エラーイベントによってMagicエンジンがどのように処理するかどうかを指定します。

メッセージ

内部のイベントメッセージを表示するかどうかを指定します。

スコープ

以下のどちらかを指定できます。

  • T=タスク(デフォルト)……ハンドラは、そのタスク内でのみ有効です。

  • S=サブツリー……ハンドラは、そのタスク内、およびその全てのサブタスク内で有効です。

  • G=グローバル …… プロジェクト内の全てのプログラムで有効です。メインプログラムでのみ定義できます。

伝播

[イベント]ロジックユニットでイベントが処理された後、そこでイベント処理が終わるか、あるいは、より上位(親タスクなど)に定義されている[イベント]ロジックユニットを探しに行くかを制御します。

  • Yes…… Magic エンジンは、この[イベント]ロジックユニットを実行した後に、イベントを未処理のものとみなし、より上位レベルで[イベント]ロジックユニットが定義されていないか検索し、定義されていれば、その[イベント]ロジックユニットを実行します。

  • No……Magic エンジンは、[イベント]ロジックユニットを実行した後、それ以上同じイベントの[イベント]ロジックユニットを探すことはせず、そこでイベント処理を終了します。

条件

 

  • Yes ……[イベント]ロジックユニットが有効であることを意味します。

  • No ……[イベント]ロジックユニットが無効であることを意味します。

  • 式 …… [イベント]ロジックユニットの有効/無効を式によって動的に指定できます。

実行

ロジックユニットの実行先を指定します。この特性はリッチクライアントタスクでのみ表示されます。オプションは以下の通りです。

  • O=最適化:(デフォルト) …… 処理フローに基づいてサーバ上かクライアント上で実行されます。

  • S=サーバ …… サーバ上で実行されます。

この特性は、[関数]か[イベント]ロジックユニットでのみ有効です。「サーバ」と指定されたロジックユニット内では、ニュートラル(どちらでも実行可能)、またはサーバ側の処理コマンドのみ有効です。

実行時、Magicエンジンは実行中のタスクツリーに沿って上方に現在のタスクから指定されたコントロールに対応する[イベント]ロジックユニットを検索します。該当するコントロールに対応した[イベント]ロジックユニットが見つからない場合、コントロールが指定されていない[イベント]ロジックユニットを探します。

参照