■MFC相談室 mfc20d.dll■
■ このスレッドは過去ログ倉庫に格納されています
0803デフォルトの名無しさん
2009/06/26(金) 12:53:56ダイアログを終了するところで落ちます。
以下の、コードはダメなのでしょうか?
OnInitDialog()時にワークスレッドを作成して、そこでダイアログの描写処理、
処理後にスレッド側でOnOk()などでダイアログを終了します。
//簡単な例(大分省いています・・)
class CTestDlg : public CDialog {
public:
virtual BOOL OnInitDialog(){
//初期化時にワークスレッド作成
AfxBeginThread( CTestDlg::BeginTread, this );
}
//ワークスレッド
bool TreadFunc() {
//ここでダイアログの描写処理()
//例えば30秒間タイマーを表示するなど・・
//ダイアログを閉じる
OnOk(); //<-うまくモーダル・ダイアログを閉じることができない・・・・
}
static UINT AFX_CDECL BeginTread(LPVOID pParam) {
CTestDlg* pObj = (CTestDlg*)pParam;
pObj->TreadFunc();
}
};
//呼び側
CTestDlg cDlg;
cDlg.DoModal
■ このスレッドは過去ログ倉庫に格納されています