PB 電子会議室
カテゴリ:ユーザオブジェクト
日付:2001年02月09日 15:22 発信者:ryochan
題名:RE(15):PB6.5: 関数の引数に、値(VALUE)としてDW型を指定した場合に、オリジナルが変更されるのは?
Takaさん、こんにちは。
>読めば読むほど混乱に陥っているのは私だけでしょうか。(笑)
すみません。私もよく分かっていなく+説明が下手なもので。
途中で、手段が目的になってしまったみたいで
Takaさんにもご迷惑をかけました。
Takaさんのおっしゃっていることも
ごもっともです。
>>関数のソースもref宣言しているのですか?
>>たとえref宣言しなくてもポインタの値渡し=参照渡しになると思いますが。
>「何か」が代入されて戻される以上、単純にrefの引数かな?と思っただけです。
>GetChild関数のソースがどう書かれているかなんて、私の知る所ではありません。
もっともです。聞き方が悪かったようです。
>ちなみに、PBの[オブジェクトブラウザ]を開いて[システム]タブを選択し、
> 1) datawindow.getchild()
> 2) systemfunctions.open()
>を見てください。「何か」が戻される可能性のある引数は refが付いています。
すみません。これが知りたかったのです。
ヘルプの「関数とイベントへの引数の渡し方」で
参照渡しされたオブジェクトついて
「オリジナルのオブジェクトの参照へのポインタが渡される。」
と書いてありました。
なので、関数内で参照自体が変更されると、オリジナルの参照する
インスタンスも変更されるということですね。
(ダブルポインタみたいなものかな)
またオブジェクトの値渡しは関数内で参照自体を変更しても
オリジナルの参照するインスタンスは変更されない。
関数にrefが付いているということは
呼び出された関数内部でインスタンスを
生成して参照を割り当てている
からでしょう。(これは議論範囲外かな)
私の説明の方が間違っていました。
申し訳ありません。
全てTakaさんのおっしゃた通りです。
いろいろとありがとうございました。
本当に勉強なりました。
また、つきあってくださいね(懲りずに^^)。
付加情報:
PowerBuilder Version (記載なし)
Client SoftWare
OS Windows98
DBMS Oracle SQL*Net 8
Browser (記載なし)
Server SoftWare
OS (記載なし)
DBMS Oracle 8.0
WebServer (記載なし)
Copyright © 2013 Power Future Co., Ltd.