MFC中使用线程为什么一直报错
DWORDWINAPIMyThreadProc(LPVOIDpParam){CDrawTextDlg*pDlg=(CDrawTextDlg*)pParam;ASSERT(...
DWORD WINAPI MyThreadProc(LPVOID pParam)
{
CDrawTextDlg* pDlg = (CDrawTextDlg*)pParam;
ASSERT(pDlg);
pDlg->ShowPicture(0,150);
return 1;
}
这个有什么问题么?一直通过不了 展开
{
CDrawTextDlg* pDlg = (CDrawTextDlg*)pParam;
ASSERT(pDlg);
pDlg->ShowPicture(0,150);
return 1;
}
这个有什么问题么?一直通过不了 展开
3个回答
展开全部
线程间不能直接传递MFC对象的指针,这通常都是不安全的,应该传递窗口句柄,然后使用PostMessage的方法将事件放在主线程中执行。
你可以在需要ShowPicture的时候PostMessage, 定义一个自定义消息,然后去实现这个消息,在实现中真正做图片展示。
你可以在需要ShowPicture的时候PostMessage, 定义一个自定义消息,然后去实现这个消息,在实现中真正做图片展示。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你的线程函数要求传递一个对话框指针作为参数,但传递过来之后的指针不合法,可能是没有传递或者传值不合理。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
编译不过,还是断言不过啊 亲~ 提示贴上来哦 亲~~
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询