PB 電子会議室
発言No. | 更新日 | 題名(クリックすると発言内容と関連するコメントが表示されます) |
---|---|---|
16291 | 01/09/19 15:14:06 | RE(4):PB5.0.02: メモリデフラッガの実行をとめる方法 By ひろまつ |
15221 | 01/05/01 17:15:40 | RE(3):PB5.0.02: メモリデフラッガの実行をとめる方法 By M.M |
15219 | 01/05/01 13:31:38 | RE(2):PB5.0.02: メモリデフラッガの実行をとめる方法 By ishidak |
15195 | 01/04/27 15:38:13 | RE(1):PB5.0.02: メモリデフラッガの実行をとめる方法 By M.M |
15189 | 01/04/27 14:44:55 | PB5.0.02: メモリデフラッガの実行をとめる方法 By ishidak |
カテゴリ:PowerBuilderの開発環境
日付:2001年05月01日 17:15 発信者:M.M
題名:RE(3):PB5.0.02: メモリデフラッガの実行をとめる方法
ishidakさん、こんにちは。
>PowerBuilderとOCXのインターフェースでメモリデフラッガが作動すると、
>OCX側でアプリケーションエラーが発生する場合があるという現象を以前
>聞いたことがあるのですが・・・
メモリデフラッガの詳細については、アシストのHPに情報があるので参照して
ください。
(http://powersoft.ashisuto.co.jp/support/techdocs/pdf/7703.pdf)
上記の資料で、外部関数やOCXなどを使用時に戻り値の格納先のアドレスが
メモリデフラッガによって変更されてしまうことが原因でエラーが発生する
可能性があると言及しています。
で、OCX使用時の対策なんですが、私の知る限りは無いようです。
上記の資料ではMDIフレームに宣言した変数を使用するようにとありますが、
外部関数はともかく、OCXは無理ですよね。
じゃぁどうすればいいかってことになりますが、「メモリデフラッガ」を
起こさないようなアプリを作るしかないんじゃないかと思います。
多少の推測も混じりますが、メモリデフラッガはウィンドウの生成や廃棄
など多量にメモリを取得・開放したときに発生するようです。
ですから、
・1ウィンドウ当たりのコントロール数を少なめにして、メモリやリソースの消費量を減らす。
・なるべく複数のウィンドウを開かない。開くときはOCXの使用を控える。
・そもそも、OCXを使わない。PBのユーザオブジェクトで代置できるものは代置してしまう。
といった対策が考えられますし、実際私はそうしています。
今までのところ、メモリデフラッガが原因のトラブルには、私が作ったプログラムでは
出会ったことがありません。
付加情報:
PowerBuilder Version (記載なし)
Client SoftWare
OS (記載なし)
DBMS (記載なし)
Browser (記載なし)
Server SoftWare
OS (記載なし)
DBMS (記載なし)
WebServer (記載なし)
Copyright © 2013 Power Future Co., Ltd.