PB 電子会議室

コメント

発言No. 更新日 題名(クリックすると発言内容と関連するコメントが表示されます)
5877 99/04/08 22:03:29 RE(2):PB6.5: MENUでのオブジェクト参照方法 By クロノス
5875 99/04/08 21:10:58 RE(1):PB6.5: MENUでのオブジェクト参照方法 By Taka
5874 99/04/08 20:30:31 PB6.5: MENUでのオブジェクト参照方法 By クロノス

カテゴリ:
日付:1999年04月08日 22:03 発信者:クロノス
題名:RE(2):PB6.5: MENUでのオブジェクト参照方法

Takaさん、こんばんは。(←ホントですね。自動なんだ。)

>メニューオブジェクトからコントロールを直接参照する方法としては、
>w_detaildata  win
>win = ParentWindow
>if win.dw_1.GetRow() = 0 then
>と書けば可能です。

そーですよね。親ウインドウで似たようことして、子ウィンドウ
を開いていて何故気が付かなかったのでしょう。自分では

window win
win = parentwindow
if win.dw1.getrow() ?

なんて書いて、これも駄目だ… なんてやっていました。

>これ以外にも、
>(1) ParentWindowの中のコントロール名(クラス名)を、文字列\"dw_1\"でサーチしてdatawindow型の変数に入れる
>(2) メニュー側にdatawindow型のインスタンス変数を用意し、ウィンドウOpen時に dw_1への参照を代入しておく
>(3) 直接コントロールにアクセスしないで、ウィンドウ関数やイベントをParentWindow代名詞で動的呼び出しする
>など、さまざまな方法が考えられます。

なるほどです。メニューって部品化が難しい(私はこのウィンドウにはこのメニューってなりがちなので…)なと、
思っていたのですが、工夫次第でいろいろできますね。

>どれが一番良いかは一概に判断できませんが、私は(2)の方式を好んで使っています。
>インスタンス化されたコントロールへの参照を、他のオブジェクトに「エントリー」するという方法です。
>(特に祖先クラスで統一した制御をしたい場合などに有効かと思っています)

そうですね。私も(2)方法でやりたいと思います。
ありがとうございました。



付加情報:

PowerBuilder Version (記載なし)

Client SoftWare

OS Windows NT 4.0
DBMS Oracle SQL*Net 8
Browser (記載なし)

Server SoftWare

OS (記載なし)
DBMS Oracle 8.0
WebServer (記載なし)

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