PB 電子会議室
発言No. | 更新日 | 題名(クリックすると発言内容と関連するコメントが表示されます) |
---|---|---|
2991 | 98/08/28 14:38:10 | RE:Window変数のスコープ By てとらぽっと |
2990 | 98/08/28 13:30:50 | 回答ありがとうございます By YOSHI |
2988 | 98/08/28 12:01:09 | RE:PB6: ウインドウの変数? By taki |
2985 | 98/08/28 11:37:29 | PB6: ウインドウの変数? By YOSHI |
カテゴリ:旧電子会議室
日付:1998年08月28日 14:38 発信者:てとらぽっと
題名:RE:Window変数のスコープ
YOSHIさん、こん○○は。
>window w_to_open
>string ls_winname
>
>ls_winname = dw_1.GetItemString( row, \"ウインドウ名\" )
>
>Open(w_to_open,ls_winname)
Window変数のスコープがローカルなのが原因です。
この会議室でも何度か出ましたが、スクリプトを抜けるとローカルの
ウィンドウ変数は破棄され、ウィンドウが開いていてもアクセスできなくなります。
インスタンス変数等に持っておいて、アクセス時に IsValid() して
なければ Openする、あればそのままアクセスするなどすればいいでしょう。
ただ、最初に考えてらっしゃる CHOOSE CASE文で切り分けて Windowオブジェクトを
記述する方法が一概に悪いとは思いません。
スクリプトの中で文字列でオブジェクトを使用しても、
オブジェクトリンクを調べてくれない(そりゃそうだわな)からです。
アプリケーションペインタのオブジェクトの階層構造を画面展開の
インデックスにしたい場合には、Windowオブジェクトを記述してます。
付加情報:
PowerBuilder Version (記載なし)
Client SoftWare
OS Windows95
DBMS Oracle SQL*Net 2.2
Browser (記載なし)
Server SoftWare
OS (記載なし)
DBMS Oracle 7.3
WebServer (記載なし)
Copyright © 2013 Power Future Co., Ltd.