PB 電子会議室
発言No. | 更新日 | 題名(クリックすると発言内容と関連するコメントが表示されます) |
---|---|---|
6608 | 99/06/04 20:08:43 | RE(3):ゴミ By Taka |
6607 | 99/06/04 20:06:08 | RE(2):PB5.0.02: ウィンドウの継承について By Taka |
6606 | 99/06/04 19:50:06 | RE(1):PB5.0.02: ウィンドウの継承について By Mika★ |
6604 | 99/06/04 19:16:08 | PB5.0.02: ウィンドウの継承について By MR.TANI |
カテゴリ:継承関係
日付:1999年06月04日 20:06 発信者:Taka
題名:RE(2):PB5.0.02: ウィンドウの継承について
MR.TANIさん、こんばんは。
>ウィンドウの継承についてなんですけども、先祖ウィンドウでRETRUNで抜ける処理を
>書いているのに、そのスクリプトから抜けずに子孫ウィンドウのスクリプトが走ってしまい
>エラーでおちてしまいます
祖先スクリプトでRETURNしても、子孫側のスクリプトが実行されてしまうのは、PB5の仕様です。
落ちるかどうかは、スクリプトに依存すると思います。
>回避方法を教えてください
この現象を回避するには、子孫側のスクリプトペインタで「祖先スクリプトの上書き」モードに
しておきます。これで、暗黙的な祖先呼び出しが抑制できます。
次に、子孫側のスクリプトでは以下のように記述します。
integer rtn
rtn = super event::ue_xxx( arguments )
if rtn = 1 then
return 1
end if
< 子孫側でやりたい処理 >
このテクニックは、オンラインブックやFaxLineなどにも載っています。
ちなみにPB6.xでは、祖先の戻り値を拾うための特殊な変数 AncestorReturnValue が用意されているので、
上記のように「祖先上書き&明示呼出し」をしなくても結果を判定することができます。
付加情報:
PowerBuilder Version (記載なし)
Client SoftWare
OS Windows95
DBMS Oracle SQL*Net 2.3
Browser (記載なし)
Server SoftWare
OS (記載なし)
DBMS Oracle 7.3
WebServer (記載なし)
Copyright © 2013 Power Future Co., Ltd.