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 (記載なし)
Copyright © 2013 Power Future Co., Ltd.