MFC程序运行时报错wincore.cpp line:972

MFC对话框程序,release模式下运行,没问题;debug模式下运行,一启动就报错:

debug assertion failed!

……..wincore.cpp line:972

后来找到原因,如下:

界面上添加状态栏,在状态栏显示系统时间,开启线程每隔一秒更新一次时间,在线程中使用m_wndStatusBar.SetPaneText函数,编译通过,运行出错!
因为MFC是线程安全的,所以在线程中调用该函数更新状态栏会出错。
于是使用API来实现:

::SendMessageA(pDlg->m_wndStatusBar.m_hWnd,SB_SETTEXT,0,(LPARAM)TEXT(“xxxxxxxxx”));

© 版权声明
THE END
喜欢就支持一下吧,技术咨询可以联系QQ407933975
点赞0
分享
评论 抢沙发