MFC中使用线程为什么一直报错

DWORD WINAPI MyThreadProc(LPVOID pParam)
{
CDrawTextDlg* pDlg = (CDrawTextDlg*)pParam;
ASSERT(pDlg);
pDlg->ShowPicture(0,150);
return 1;
}
这个有什么问题么?一直通过不了

第1个回答  2014-04-16
线程间不能直接传递MFC对象的指针,这通常都是不安全的,应该传递窗口句柄,然后使用PostMessage的方法将事件放在主线程中执行。
你可以在需要ShowPicture的时候PostMessage, 定义一个自定义消息,然后去实现这个消息,在实现中真正做图片展示。
第2个回答  2014-04-16
你的线程函数要求传递一个对话框指针作为参数,但传递过来之后的指针不合法,可能是没有传递或者传值不合理。本回答被提问者和网友采纳
第3个回答  2014-04-16
编译不过,还是断言不过啊 亲~ 提示贴上来哦 亲~~
相似回答