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 (記載なし)

PowerSpaceの運営は、パワーフューチャー株式会社が行っております。
Copyright © 2013 Power Future Co., Ltd.