- - PR -
クリップボードからビットマップが取得できなくなる
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2002-07-31 19:40
IDataObject.GetData()でクリップボードからビットマップを取得すると.NET Framework内部でメモリーリークを起こし、取得したビットマップ(ハンドル)が開放されなくなるバグを見つけました。
実行環境にもよりますが、256MB搭載PCの場合で200回程度IDataObject.GetData()を呼び出すと、クリップボードにビットマップがあるにもかかわらず取得できなくなります。この状態になると、他のアプリケーションでもクリップボードからビットマップが取得できなくなります。 この現象をMSKKに問い合わせたところ、MSKKでも障害を確認し、バグと認めました。 この障害を回避するには、Win32APIでクリップボードからビットマップハンドルを取得し、それをImage.FromHbitmap()の引数にしてBitmapオブジェクトを作成するしかないようです。 いつも有益な情報を頂いているので、たまには自分でも情報提供しようと思い、書き込みました。 |
1