程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> VC >> vc教程 >> VC6.0編譯問題

VC6.0編譯問題

編輯:vc教程

問:我用自己設計的類編了一個程序。當我在編譯項中設置為debug編譯時,程序運行一切正常,當為release時程序卻出了問題.怎麼會這樣?

答:1)為什麼你既建立線程又將一個類成員作為線程處理?這樣的話誰來調用你的析構函數?你不能試圖將文檔視窗類中的成員作為線程,象這樣: Ccapi::SomeFunction() { AfxBeginThread(static_cast(ThreadProc(this))); } Ccapi::ThreadProc(LPVOID ptr) { // ptr and this are equal... Ccapi* ptrApi = (Ccapi*)ptr; };如果你是這樣做的話可能需要做些改動

  2)顯然,m_pOwner或者m_pOwner->m_hWnd是不正確的,試試下面的: if (NULL == capi) ::MessageBox(NULL, "bad capi", "CapiThread", MB_OK); else if (NULL == capi->m_pOwner) ::MessageBox(NULL, "bad Owner", "CapiThread", MB_OK); else if (!::IsWindow(capi->m_pOwner->m_hWnd)) ::MessageBox(NULL, "bad hwnd", "CapiThread", MB_OK);

  1. 上一頁:
  2. 下一頁:
欄目導航
Copyright © 程式師世界 All Rights Reserved