PB 電子会議室

コメント

発言No. 更新日 題名(クリックすると発言内容と関連するコメントが表示されます)
4234 98/12/03 09:11:39 RE(3):できました。 ありがとうございます。 By まこと
4223 98/12/02 16:35:51 RE(2):PB6: ノンビジュアルのユーザオブジェクトに書いた関数ってどうやって使うのでしょうか? By M.M
4210 98/12/01 18:08:14 RE(1):PB6: ノンビジュアルのユーザオブジェクトに書いた関数ってどうやって使うのでしょうか? By こてちゅ
4208 98/12/01 18:00:09 PB6: ノンビジュアルのユーザオブジェクトに書いた関数ってどうやって使うのでしょうか? By まこと

カテゴリ:ユーザオブジェクト
日付:1998年12月02日 16:35 発信者:M.M
題名:RE(2):PB6: ノンビジュアルのユーザオブジェクトに書いた関数ってどうやって使うのでしょうか?

「まこと」さん「こてちゅ」さん、こんにちは。
もう解決されているかもしれませんが追記のコメントを。

>>ユーザオブジェクトに関数を書いても利用できないのです。
>>(アプリケーションの実行中に、Nullオブジェクト参照で終了してしまいます。
>> ちなみに、スクリプトの記述中はエラーになりません。)
>>
>>Wのインスタンス変数に
>> uvo_querymode  ivo_querymode
>>と書いて、
>> ivo_querymode.query_mode(w_name,dw_name)
>>って感じで起動してみてるんですが、ダメなのです。

「こてちゅ」さんのコメントにあるとおり、ユーザオブジェクトの自動生成をしていない時は
CREATE文でユーザオブジェクトを生成してやる必要があります。

<ウィンドウのインスタンス変数宣言>
uvo_querymode  ivo_querymode

<ウィンドウ内のどこかのイベント>
ivo_querymode = CREATE uvo_querymode

ivo_querymode.query_mode(w_name,dw_name)
...

DESTROY ivo_querymode

DESTROY文でユーザオブジェクトを破棄しないとメモリの中にゴミとして残ってしまい、
「ページ違反」や「一般保護エラー」の原因になります。

ユーザオブジェクトの自動生成をチェックしておくとCREATE文とDESTROY文は不要ですが、
PB5.0.01の時、マシンコードEXEでユーザオブジェクトの自動生成ではメモリが解放されないと
いうバグに当たって以来、あまりこの機能を信用していません。
(個人的な経験上での話しなので、ユーザオブジェクトの自動生成を使用しないように
 とすすめているわけではありません。)

#追記:「M.N」さんと私(M.M)は別人です。でもブラウザで見ると同じように見えてしまいます(笑)

付加情報:

PowerBuilder Version (記載なし)

Client SoftWare

OS Windows NT 4.0
DBMS Oracle SQL*Net 2.3
Browser (記載なし)

Server SoftWare

OS (記載なし)
DBMS Oracle 7.3
WebServer (記載なし)

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