作者elfkiller (沒有暱稱)
看板C_and_CPP
標題Re: [問題] .Net gcnew 問題
時間Mon Sep 13 23:44:53 2010
※ 引述《evilned (君千殤)》之銘言:
: 目前小弟用 windows form 開發 GUI
: Bitmap^ Image = gcnew Bitmap("xxx.bmp");
: 展示圖在 pictureBox 中
: 不過遇到的問題是
: 我展示圖後要將這張圖刪除
: 顯示"因為使用中無法刪除檔案"
: 這是代表藉由 gcnew 所託管的沒 delete 掉吧 ?
: 那有指令可以將目前所有 gcnew 都 delete 嗎 ~?
用解構子
Image->~Bitmap();
列表裡沒有,可是可以用
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.136.223.15
→ LPH66:自己呼叫解構子不是正道...特別是當它受 gc 管理時更糟 09/14 01:43
→ LPH66:這可能會造成資源二次釋放... 09/14 01:43
→ LPH66:上篇推文二樓的 Dispose 才是正解 09/14 01:43
→ LPH66:就連在(沒有gc的)C++裡需要自己呼叫解構子的情形也只有一個 09/14 01:45
→ LPH66:就是該物件是經由 placement new 而產生的這種而已 09/14 01:45