- - PR -
C++/CLIでBitmapで読み込んだビットマップファイルを開放したい
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2007-06-19 15:49
こんにちは。お世話になってます。
現在、VC++.NET 2005 C++/CLI でアプリケーションの開発をしています。 ビットマップファイルを読み込んで、クリップボードへコピーし、読み込んだビット マップファイルを削除したいのですが、Bimapオブジェクトがファイルをロックしたまま となっていて、削除できません。 ネットで調べると、VB.NETやC#の場合、Bitmap.Dispose() をすればいいというような 記述がありますが、C++/CLIの場合、Dispose() メソッドはないのです。 Disposeの代わりに、 nullptr を代入すればいいというような記述もありますが、実際 nullptr を代入しても ファイルのロックがすぐに解除されているようではありません。 C++/CLIの場合はどのようにすればいいのでしょうか? |
|
投稿日時: 2007-06-19 16:16
C#などで言うIDisposable.Dispose()はC++/CLIではデストラクタと呼ばれます。
http://vene.wankuma.com/ecma372/19_6_13_class_member.aspx#SS.19.13 自動変数であればスコープを外れた段階でデストラクタが呼ばれます。 newしたものに関してはdeleteを実行してください。デストラクタが呼ばれます。 |
|
投稿日時: 2007-06-19 20:06
こんにちは。
結局、BitmapをFilestreamでロードし、終えたらFilestreamをCloseすることで対応しました。 |
1