Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Image Added


VLF

[ Image Removed |../../index.htm#lansa/lansa048_3395.htm]
Visual LANSA フレームワーク ガイド > フレームワーク・プログラミング > VLF フレームワーク・マネージャー > フレームワーク・ウィンドウの管理 > プログラムによるウィンドウの作成・管理 > ウィンドウを開く際に渡す情報

...

Image Removed
VLF-WIN では、avShowWindowメソッドによりウィンドウを開く、またはアクティブ化する際、パラメータOpenInfo1~OpenInfo5およびOpenObjectRefを使って情報を渡すことができます。  

最大256字の文字列を5つまでと、さらにオブジェクト参照を渡し、ウィンドウ間で情報をやり取りすることができるのです。
 

例えば、フィルターやコマンド・ハンドラーでDEMO_WINDOWというウィンドウを開き、文字列を5つ渡す場合、次のように記述します。


 

...

     #AvFrameworkManager.avShowWindow Caller(#Com_Owner) For(BUSINESSOBJECT) ofType(EMPLOYEES) WindowName(DEMO_WINDOW) OpenInfo1('Test String 1') OpenInfo2('Test String 2')  OpenInfo3('Test String 3')  OpenInfo4('Test String 4')  OpenInfo5('Test String 5')   

 
DEMO_WINDOW内のフィルターまたはコマンド・ハンドラーに、次のような処理があるとします。


 

...

     Use Message_box_Add ('In window named'#Com_Owner.avCurrentWindow.WindowName)
      Use Message_box_Add ('OpenInfo1 ='#Com_Owner.avCurrentWindow.OpenInfo<1>)
      Use Message_box_Add ('OpenInfo2 ='#Com_Owner.avCurrentWindow.OpenInfo<2>)
      Use Message_box_Add ('OpenInfo3 ='#Com_Owner.avCurrentWindow.OpenInfo<3>)
      Use Message_box_Add ('OpenInfo4 ='#Com_Owner.avCurrentWindow.OpenInfo<4>)
      Use Message_box_Add ('OpenInfo5 ='#Com_Owner.avCurrentWindow.OpenInfo<5>)
      Use message_box_show


 すると次のように表示されます。 すると次のように表示されます。

Image Added
 
Image Removed
  

ウィンドウを開く際に渡された情報には、当該ウィンドウへのクラス#VF_SY154参照を取得してアクセスします(「ウィンドウを検索」、「ウィンドウをすべて列挙」を参照)。
 

あるウィンドウを開く際に使った情報を更新するためには、次のように、OpenInfoプロパティを使います(これはMAINウィンドウの例)。   


      #Com_Owner.avMainWindow.OpenInfo<1> := "Return String 1"
      #Com_Owner.avMainWindow.OpenInfo<2> := "Return String 2"
      #Com_Owner.avMainWindow.OpenInfo<3> := "Return String 3"
      #Com_Owner.avMainWindow.OpenInfo<4> := "Return String 4"
      #Com_Owner.avMainWindow.OpenInfo<5> := "Return String 5"

...

 


OpenObjectRefプロパティは、ウィンドウ間でオブジェクト参照をやり取りするために使います。この方法を使えば、どのような量や型の情報でもやり取りできます。  

OpenInfoデータを使うため、新しいウィンドウのフィルターまたはコマンド・ハンドラーを取得したい場合は、uShowWindowCompletedメソッドの呼び出しを当該フィルターやコマンド・ハンドラーに追加する必要があります。詳細については、「他のウィンドウにイベントを通知する」を参照してください。
 
[ Image Removed |../../index.htm#lansa/lansa048_3395.htm]