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 (記載なし)
Copyright © 2013 Power Future Co., Ltd.