VCLのバグかな?


とあるプログラマ  2002-11-28 01:40:45  No: 2232  IP: [192.*.*.*]

TListViewやTTreeViewでのDrag処理でメモリリークが発生して困ってます。

詳細:
DragKindをdkAutomaticにして、さらにOnDragOverで、Acceptをtrueにしてやる。
これを実行し、ドラッグしたまま、TreeViewやListViewの中と外をいったりきたりさせると、使用メモリ量がみるみる増えていきます。
現象は、WinXpでタスクマネージャ使って確認しました。
同じexeをWin2000で動かすと、現象は起きません。
9x系ではタスクマネージャがないので確認しにくいですが、システムモニタで見る限りでは起こってないみたいです。

Delphiのバージョンは6+update2です。
Delphi6はXpは正式対応じゃないみたいなので、ひょっとしたらDelphi7では直ってるのかも知れませんが、手元に6しかないので確認できません。

どなたか回避策とか知ってたりしたら嬉しいなぁ・・・

編集    削除
にしの  2002-11-28 07:41:34  No: 2233  IP: [192.*.*.*]

Delphi5+winXPでは確認できませんでした。
# Delphi5のDragKindにはdkAutomaticはなく、DragModeにdmAutomaticがあったのでこれで試しました

http://www.yks.ne.jp/~hori/MemCheck.html
にある、memcheckを使えば、たぶん追えるんじゃないですか?
追い切れなくても、メモリリークしているかどうか確認はできます。

編集    削除
とあるプログラマ  2002-11-28 11:28:55  No: 2234  IP: [192.*.*.*]

あ、DragModeのほうですね。すみません。
Delphi5では起きませんか・・う〜む・・。
MemCheck試してみます。

編集    削除