人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

VB6.0のアプリケーションのメモリ占有の原因についての質問です。
あるVB6.0の常駐GUIアプリケーションを作成しました。
機能としては主に以下のようなものがあります。
・自動ファイルの移動
・自動ファイル削除
ところがこのVBアプリケーションを常駐させておくと以下のような現象が起こります。

・ファイル移動処理や削除処理を行うとメモリの占有量が微妙に増える。そして増えたままになる(数KB程度)。
・処理を行わない間はメモリ占有量の変動はない。
・数百回処理を行ったあと(メモリ占有量が大幅に増えている状態)のGUIアプリケーションをマウスで通常ウィンドウ化→最小化を行うとメモリ占有量は初期値に近いところまで大幅に減る。

原因として以下のようなものを考えています。

・動的配列(Privateのプロシージャ内)の使用→Erase処理を行いましたが特に何も変化がありません。
・Function(Private)内の配列の使用→Erace処理をしていません。できれば触りたくない部分です。


以上を踏まえたうえでメモリ占有の原因と解決法をご存知の方がいらっしゃいましたらお教え下さい。
よろしくお願いします。

●質問者: k1LoW
●カテゴリ:コンピュータ
✍キーワード:GUI KB VB vb6 アプリケーション
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● F-15X
●60ポイント

[VB6] UBound または LBound に配列の戻り値を渡すとメモリ リーク

◎質問者からの返答

回答ありがとうございます。

確かにUBonud関数とLBonud関数は使用しておりました。そこで、UBonud関数とLBonud関数の使用を回避しましたが、メモリ占有量が増える現象はなくなりませんでした。

“数百回処理を行ったあと(メモリ占有量が大幅に増えている状態)のGUIアプリケーションをマウスで通常ウィンドウ化→最小化を行うとメモリ占有量は初期値に近いところまで大幅に減る。”

という点が本当の意味でのメモリリークではないことを示唆しているのかもしれません。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ