2014-06-13 19 views
0

在我的基於對話框的應用程序,在CWinApp::InitInstance創建類已經陷害窗口v1沒有調用的CWinThread:ExitInstance中

創建modHolder

CWinThread* pThread= AfxBeginThread(RUNTIME_CLASS(modHolder)); 

聲明modHolder

class modHolder : public CWinThread 
{ 
    DECLARE_DYNCREATE(modHolder) 

protected: 
    modHolder();   // protected constructor used by dynamic creation 
    virtual ~modHolder(); 

public: 
    CMainWindow * v1; 
    virtual BOOL InitInstance(); 
    virtual int ExitInstance(); 

protected: 
    DECLARE_MESSAGE_MAP() 
}; 

在申請結束期間,我希望打電話給modHolder::ExitInstance()

不幸的是我沒有這個功能。什麼可能是問題?我認爲,那CWinThread modHolder應該自動終止。我錯了嗎?

+1

它會自動終止,但不一定整齊。除非你提供一個強制關閉的同步機制,否則你將看不到'ExitInstance'。另外,如果你重寫了'Run',你也不會看到它在你的覆蓋中被調用。對於UI線程,您需要調用PostQuitMessage來完整地退出。 –

回答

0

CWinThread :: ExitInstance在CWinThread :: Run完成時被調用。

你有源代碼!

相關問題