PB 電子会議室
発言No. | 更新日 | 題名(クリックすると発言内容と関連するコメントが表示されます) |
---|---|---|
1221 | 98/04/10 12:17:30 | RE(7):ユーザーオブジェクトから値を得る By てとらぽっと |
1217 | 98/04/10 11:07:42 | RE(6):皆さんありがとうございます。 By HIDENORI |
1188 | 98/04/08 17:42:35 | RE(5):他のユーザーオブジェクトについて By てとらぽっと |
1187 | 98/04/08 17:39:56 | RE(4):ノンビジュアルクラスのカスタムについて By てとらぽっと |
1185 | 98/04/08 16:14:25 | RE(3):ユーザーオブジェクトについて By nari |
1184 | 98/04/08 15:02:38 | RE(2):ユーザーオブジェクトについて By こてちゅ |
1183 | 98/04/08 14:59:09 | RE(1):ユーザーオブジェクトについて By Hide |
1182 | 98/04/08 13:19:28 | ユーザーオブジェクトについて By HIDENORI |
カテゴリ:旧電子会議室
日付:1998年04月10日 12:17 発信者:てとらぽっと
題名:RE(7):ユーザーオブジェクトから値を得る
HIDENORIさん、こんにちは。
>もうちょっと質問させてください。
>ノンビュジュアルのオブジェクトから値をもらったり・渡したりというのは
>どうするのですか?
>オブジェクトの中に設定したユーザーオブジェクト関数を直接使う場合は
>ユーザー定義関数の引数と同じ様に使えばできると思いますが
>例えばユーザーオブジェクトの中である金額をわたして
>それに消費税計算をした値をかえす・・・みたいなことをやるとき
>はインスタンス変数ってやつをつかうのですか?
方法はいくつかあります。
一番簡単なのはユーザーオブジェクト関数の引数を参照渡し(reference)する方法です。
上記の例で uf_FunctionName( 金額, 消費税額 ) という関数宣言としますと、
[消費税額]を参照渡しして、ユーザーオブジェクト関数の中でこの変数に値を代入してやります。
多数の変数を必要とするなら、構造体を作ってしまうほうがいいです。関数宣言もメンテナンスも楽です。
もしユーザーオブジェクト側で長期にわたって値を保持するならば、
ユーザーオブジェクトにインスタンス変数を持つことになりますが、
ユーザーオブジェクト名.インスタンス変数名
で参照できます(インスタンス変数が Public のとき。Public はデフォルトです)。
わたしはむしろ値を返すユーザーオブジェクト関数を作ったりします。
関数の中で
Return( インスタンス変数名 )
としているだけですが、どこで参照しているのか、検索しやすくするためです。
関数名も データウィンドウにちなんで uf_Get... などを付けています。
付加情報:
PowerBuilder Version (記載なし)
Client SoftWare
OS (記載なし)
DBMS (記載なし)
Browser (記載なし)
Server SoftWare
OS (記載なし)
DBMS (記載なし)
WebServer (記載なし)
Copyright © 2013 Power Future Co., Ltd.