You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

[ |../../index.htm#lansa/lansa048_3365.htm]
Visual LANSA フレームワーク ガイド > フレームワーク・プログラミング > VLF フレームワーク・マネージャー > フレームワーク・ウィンドウの管理 > ウィンドウを切り替える

ウィンドウを切り替える


VLF-WIN では、複数のウィンドウを使用することで、昔から課題となっている表示内容を切り替える必要を減らすことができます。
それでもなお、avSwitchメソッド メソッドにより他の作業に切り替える処理が有用である場合があります。どのウィンドウの内容を切り替えるかは、TargetWindow()パラメータで制御します。MAIN、CURRENT、特定のウィンドウ名を指定できます。省略値は MAIN です。
 
ウィンドウの切り替えに関しては、次の規則に従ってください。

  • ウィンドウを開くとスコープが設定されます。
  • これは、ウィンドウ内に何を表示できるか、を表すものです。
  • スコープを制限することにより、生成に必要な時間を大幅に減らすことができます。  

 
例えばFRAMEWORKウィンドウを開くと、そのフレームワークで定義されたアプリケーション、ビジネス・オブジェクト、コマンドがすべてスコープに入ります。
 
一方、BUSINESSOBJECTウィンドウの場合、指定されたビジネス・オブジェクトと、これに関連するアプリケーション・レベル、フレームワーク・レベルのコマンドしか、スコープに入りません。
 
したがって、ビジネス・オブジェクトAだけがスコープに入ったTESTというウィンドウを開き、後でこれをビジネス・オブジェクトBに切り替える、ということはできません。BはTESTウィンドウのスコープに入っていないからです。  
 
このように、スコープ外へのウィンドウ切り替えはできないようになっています。仮にできるようになっていたとすれば何かの役には立つかも知れませんが、フレームワークにはこのような機能が組み込まれていません。実際にやってみた場合の結果は不定であり、将来のバージョンでの動作も保証されません。   
 
avSwitch メソッドの省略値が TargetWindow(CURRENT) ではなく TargetWindow(MAIN) となっているのもこれが理由です。  MAINウィンドウのスコープにはフレームワーク内の全体が入るので、スコープ以外の要因がない限り、切り替え操作は常に可能です。
 
TargetWindow()パラメータの修正を開始したなら、指定したスコープ範囲内に切り替えるかどうか検討してください。   
[ |../../index.htm#lansa/lansa048_3365.htm]

  • No labels