スレッドの中でモーダルダイアログを表示するとエラーになる – プログラミング – Home

スレッドの中でモーダルダイアログを表示...
 
通知
すべてクリア

[解決済] スレッドの中でモーダルダイアログを表示するとエラーになる


三菱
 三菱
(@三菱)
ゲスト
結合: 19年前
投稿: 2
Topic starter  

WinXP sp2 VC++6.0 MFC
スレッド処理の中でDomodalダイアログを立ち上げるとエラーになります。
何故でしょうか?

// 初期設定
BOOL XXXXXXDlg::OnInitDialog()
{
// スレッド処理
HANDLE hThread;
hThread = (HANDLE)_beginthread(Func,0,this);
}

void Func(LPVOID pParam)
{
XXXXXXDlg* pDlg = (XXXXXXDlg*)pParam;

     処理
     :

YYYYYDlg myR; 
myR.DoModal();<<===========エラー
}


引用未解決
トピックタグ
三菱
 三菱
(@三菱)
ゲスト
結合: 19年前
投稿: 2
Topic starter  

CWinThreadを利用することで自己解決いたしました。
しかし、Windowsの関数を利用しないとDomodalを構築できないのですね。
勉強になりました。


返信引用
Ban
 Ban
(@ban)
Prominent Member
結合: 5年前
投稿: 776
 

> しかし、Windowsの関数を利用しないとDomodalを構築できないのですね。

Windows の関数...?MFC の~ のことですか。

XXXXXXDlg がおそらく CDialog なりのサブクラスだからうまく動かなかっただけで、
API で直接ダイアログを生成する分には CWinThread は不要です。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました