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 (記載なし)

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