PB 電子会議室

コメント

発言No. 更新日 題名(クリックすると発言内容と関連するコメントが表示されます)
16081 01/08/21 14:46:31 RE(7):PB6.5: 画面の複数起動による障害 By uki
16072 01/08/17 10:01:53 RE(6):PB6.5: 画面の複数起動による障害 By こてちゅ
16070 01/08/16 18:37:25 RE(5):PB6.5: 画面の複数起動による障害 By uki
16069 01/08/16 17:56:45 RE(4):PB6.5: 画面の複数起動による障害 By uki
16067 01/08/16 16:29:48 RE(3):PB6.5: 画面の複数起動による障害 By こてちゅ
16064 01/08/16 16:09:09 RE(2):PB6.5: 画面の複数起動による障害 By uki
16054 01/08/15 17:03:41 RE(1):PB6.5: 画面の複数起動による障害 By こてちゅ
16053 01/08/15 15:53:38 PB6.5: 画面の複数起動による障害 By uki

カテゴリ:PowerBuilderの開発環境
日付:2001年08月17日 10:01 発信者:こてちゅ
題名:RE(6):PB6.5: 画面の複数起動による障害

ukiさん、おはようございます。

説明がわかりにくかったかな?WindowオブジェクトとWindow型の意味が・・・

ご自分で作成した、w_testというオブジェクトは、
Windowオブジェクト(オブジェクト指向で言うところのクラス)を継承しているものです。
このWindowオブジェクトには、tab_1というコントロールやプロパティは
存在していないのはわりますよね?
ご自分でWindowオブジェクトを継承して作った、w_testには存在しているのです。
んでもって、オブジェクトは参照型という型として宣言ができるのです。
ですから、
>windowobject lwo_tab_1 
>lwo_tab_1 = w_test.tab_1

>lwo_tab_1.triggerevent( \"ue_copy\" )
この記述でもいいですけど・・・
ParentWindowという代名詞を使ってやる方法として次のようにします。

イベントを呼出すスクリプトでは(メニューオブジェクトでの呼出しの場合)、
*****************
w_test a
a = ParentWindow    //ここが型変換しているところ
if IsValid(a) Then
    a.tab_1.event ue_copy()
end if
******************
これは、aという変数がParentWindowの参照型となるのでちゃんとtab_1といった
継承先(サブクラス)でのコントロールやプロパティが参照できることになるのです。

んで、代名詞を使ってということであれば、すべてのWindowのスーパークラスとなる
画面を用意しそこにメニューから呼び出されるユーザイベントを作成しておくとよいと思います。
こうすることで、上記の型変換では、そのスーパークラスの型で変数宣言しておけば、
どんな画面でも使用できるようになり、子孫でそのユーザイベントから、目的のコントロールの
イベントを呼び出すようにすればいいことになります。

付加情報:

PowerBuilder Version (記載なし)

Client SoftWare

OS Windows98
DBMS Oracle SQL*Net 2.2
Browser (記載なし)

Server SoftWare

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

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