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年09月19日 15:14 発信者:ひろまつ
題名:RE(4):PB5.0.02: メモリデフラッガの実行をとめる方法

M.Mさん、こんにちは。

>ishidakさん、こんにちは。

>>PowerBuilderとOCXのインターフェースでメモリデフラッガが作動すると、
>>OCX側でアプリケーションエラーが発生する場合があるという現象を以前
>>聞いたことがあるのですが・・・

>メモリデフラッガの詳細については、アシストのHPに情報があるので参照して
>ください。
>(http://powersoft.ashisuto.co.jp/support/techdocs/pdf/7703.pdf)

>上記の資料で、外部関数やOCXなどを使用時に戻り値の格納先のアドレスが
>メモリデフラッガによって変更されてしまうことが原因でエラーが発生する
>可能性があると言及しています。

>で、OCX使用時の対策なんですが、私の知る限りは無いようです。
>上記の資料ではMDIフレームに宣言した変数を使用するようにとありますが、
>外部関数はともかく、OCXは無理ですよね。

>じゃぁどうすればいいかってことになりますが、「メモリデフラッガ」を
>起こさないようなアプリを作るしかないんじゃないかと思います。
>多少の推測も混じりますが、メモリデフラッガはウィンドウの生成や廃棄
>など多量にメモリを取得・開放したときに発生するようです。

>ですから、
> ・1ウィンドウ当たりのコントロール数を少なめにして、メモリやリソースの消費量を減らす。
> ・なるべく複数のウィンドウを開かない。開くときはOCXの使用を控える。
> ・そもそも、OCXを使わない。PBのユーザオブジェクトで代置できるものは代置してしまう。
>といった対策が考えられますし、実際私はそうしています。

>今までのところ、メモリデフラッガが原因のトラブルには、私が作ったプログラムでは
>出会ったことがありません。


デフラグイベント・タイミングを関数で取得することはできませんでしょうか?
デフラグが起こる5秒前位に「デフラグが起こるぞ」みたいなカンジで。
上記内容からして取得はできそうにもないですかね。


付加情報:

PowerBuilder Version (記載なし)

Client SoftWare

OS (記載なし)
DBMS (記載なし)
Browser (記載なし)

Server SoftWare

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

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