ウィンドウを切り替える

Visual LANSA

ウィンドウを切り替える


ウィンドウを複数開けるようにすると、その表示内容を切り替える必要は減るでしょう。

それでもなお、avSwitchメソッドにより他の作業に切り替える処理が有用である場合があります。どのウィンドウの内容を切り替えるかは、TargetWindow()パラメータで制御します。MAIN、CURRENT、特定のウィンドウ名を指定できます。デフォルト値はMAINです。

ウィンドウの切り替えに関しては、次の規則に従ってください。

·         ウィンドウを開くとスコープが設定されます。

·         これは、ウィンドウ内に何を表示できるか、を表すものです。

·         スコープを制限することにより、生成に必要な時間を大幅に減らすことができます。

例えばFRAMEWORKウィンドウを開くと、そのフレームワークで定義されたアプリケーション、ビジネス・オブジェクト、コマンドがすべてスコープに入ります。

一方、BUSINESSOBJECTウィンドウの場合、指定されたビジネス・オブジェクトと、これに関連するアプリケーション・レベル、フレームワーク・レベルのコマンドしか、スコープに入りません。

したがって、ビジネス・オブジェクトAだけがスコープに入ったTESTというウィンドウを開き、後でこれをビジネス・オブジェクトBに切り替える、ということはできません。BはTESTウィンドウのスコープに入っていないからです。

このように、スコープ外へのウィンドウ切り替えはできないようになっています。仮にできるようになっていたとすれば何かの役には立つかも知れませんが、フレームワークにはこのような機能が組み込まれていません。実際にやってみた場合の結果は不定であり、将来のバージョンでの動作も保証されません。

avSwitchメソッドのデフォルト値がTargetWindow(CURRENT)ではなくTargetWindow(MAIN)となっているのもこれが理由です。MAINウィンドウのスコープにはフレームワーク内の全体が入るので、スコープ以外の要因がない限り、切り替え操作は常に可能です。

TargetWindow()パラメータの修正を開始したなら、指定したスコープ範囲内に切り替えるかどうか検討してください。