[問題] 無法使用emgu的解構

看板C_Sharp (C#)作者 (山豬元年革命志士)時間13年前 (2012/07/18 11:24), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/2 (看更多)
小弟沒寫過c# 為了作介面的openCV決定使用emgu 目前做了一個簡單類別但是關閉時候 卡在callback函式裡面無法執行解構子 想請前輩指導一下 namespace achCCD { class ClassEmguCCD { private Capture m_cap; private PictureBox m_pictureBox; public ClassEmguCCD() { // TODO: Complete member initialization } //解構子 ~ClassEmguCCD() { m_cap.Stop(); m_cap.ImageGrabbed -= Run; m_cap.Dispose(); } /// <summary> /// 初始化第iCCD的攝影機 /// </summary> /// <param name="iCCD"> 第iCCD台 </param> /// <returns></returns> public bool Initializer( int iCCD) { if (m_cap != null) { //Release } m_cap = new Capture(iCCD); m_cap.ImageGrabbed += Run; m_cap.Start(); return true; } //設定顯示物件 public void SetWindow(PictureBox pictureBox) { m_pictureBox = pictureBox; } //取像時候更新畫面 private void Run(object sender, EventArgs arg) { if (m_pictureBox != null) { m_pictureBox.Image = m_cap.RetrieveGrayFrame().ToBitmap(); } } } } 當我主程式關掉時候,一直無法進入~ClassEmguCCD 反而是不斷的呼叫到Run 想請教一下應該怎麼做才能讓程式關閉時候 自動(或手動?)釋放資源,不會卡在裡面而無法關閉。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.116.78.236 ※ 編輯: Achillean 來自: 122.116.78.236 (07/18 11:27)
文章代碼(AID): #1G1YnU82 (C_Sharp)
討論串 (同標題文章)
文章代碼(AID): #1G1YnU82 (C_Sharp)