0

私はこのようなことをしました:

スレッド 1:

pDlg = new CAxDialogImpl<A>();
// start thread2 here

スレッド 2:

pDlg->Create();

while(GetMessage(&msg, 0, 0, 0) > 0)
{
 ...
}

このようなコードはクラッシュにつながります。理由を説明できる人はいますか?

4

1 に答える 1

0

基になるウィンドウ (HWND) が作成される場所によって異なります。CAxDialogImpl コンストラクターがウィンドウを作成する場合、ウィンドウはスレッド 1 に存在し、それに対するメッセージはスレッド 2 で処理できません。そこで処理。

実際のクラッシュはどこで発生しますか?

于 2012-08-29T22:45:26.610 に答える