Visual LANSA フレームワーク ガイド > フレームワーク・プログラミング > VLF フレームワーク・マネージャー > イベント通知サービス > #Com_owner.avEvent
#Com_owner.avEvent

avEvent イベントについて知っておくべきことが以下に示されています。

Withid

イベントの識別。  到着したイベントを構造的に優れた方法で処理するには、以下のようになります。

Evtroutine Handling(#Com_owner.avEvent) WithId(#EventId)

 

   Case #EventId.Value

      When (= Event1) 

          << Execute subroutine or invoke method to handle event 1 >>

      When (= Event2)

          << Execute subroutine or invoke method to handle event 2 >>

      When (= Event3)

          << Execute subroutine or invoke method to handle event 3 >>

      ... etc ...

      ... etc ...

      ... etc ...

   EndCase

 

Endroutine

 

WithAInfo1 -> WithAInfo5

これを使用して、イベントが通知されたときに、SendAInfo1 -> SendAInfo5 の値を受信します。

WithNInfo1 -> WithNInfo5

これら使用して、イベントが通知されたときに指定した SendNInfo1 -> SendNInfo5 の値を受信します。

Sender

これでイベントを通知したコンポーネントの名前を指定します。

一般的には、以下のように使用されます。

EvtRoutine Handling(#Com_owner.avEvent) Sender(#Sender)

 

   * このイベントがこのコンポーネント自身から通知されていなかった場合 

 

   If (#Sender *ne #Com_Owner.Name)

 

<< イベント処理 >>

 

   Endif

 

Endroutine

VLF-ONE では、同じロジックにパラメータ NotifySelf(False) を利用できます。

#Com_Owner.avFilterActivated および #Com_Owner.avHandlerActivated

 

フィルターおよびコマンド・ハンドラーには、現在有効になっているかどうかを示すプロパティがあります。次のようなものです。

  • #Com_Owner.avFilterActivated (フィルター用)
  • #Com_owner.avHandlerActivated (コマンド・ハンドラー用)

これらのプロパティには、文字列TRUEまたはFALSEが含まれます。

これらのプロパティを使用すると、フィルターやコマンド・ハンドラーのロジックで、そのフィルターやコマンド・ハンドラーが現在有効な状態であるかどうかをテストできます。通常、このロジックは通知されたイベントを無視するかどうかをテストするのに使用されます。

フィルターやコマンド・ハンドラーは、ユーザーとやり取りできる状態にある場合に有効になっています。

最小化、非表示、または非アクティブ化されたウィンドウのフィルターやコマンド・ハンドラーも、依然として有効であると考えられます。  

 

プログラムにとって重要なイベントのみチェックするようにしてください。 

その他のイベントはできるだけ早いうちに無視してください。

アプリケーションを実装する中で、以下のようにイベントのテーブルを保守することが有意義なことがわかってきます。

イベントID 通知先 完了待ち 英数字追加情報 数値追加情報

_____________

FRAMEWORK

BUSINESSOBJECT

TRUE

/ FALSE

1=

2=

3=

4=

5=

1=

2=

3=

4=

5=

_____________

FRAMEWORK

BUSINESSOBJECT

TRUE

/ FALSE

1=

2=

3=

4=

5=

1=

2=

3=

4=

5=

_____________

FRAMEWORK

BUSINESSOBJECT

TRUE

/ FALSE

1=

2=

3=

4=

5=

1=

2=

3=

4=

5=