读书人

建非模态对话框指针非空句柄为空

发布时间: 2012-03-06 20:47:55 作者: rapoo

建非模态对话框,指针非空,句柄为空,不能显示对话框
在一个类CAlarmThread中有成员变量
protected:
CAlarmDlg* m_pAlarmDlg;//为对话框
调试程序进入下面函数出错。
BOOL CAlarmThread::InitInstance()
{
// TODO: perform and per-thread initialization here
m_pAlarmDlg = new CAlarmDlg();
m_pAlarmDlg->Create(IDD_DIALOG_ALARM);
m_pAlarmDlg->ShowWindow(SW_SHOW);
return TRUE;
}
出错原因是进入这句:m_pAlarmDlg->ShowWindow(SW_SHOW);
到这句里面后编译器ASSERT发现对话框的句柄为空,可是m_pAlarmDlg不为空呀,我不知道是什么原因,怎么能得到正确的句柄,谢谢大家!

[解决办法]
看看create成功没有,是不是资源没有找到之类的
[解决办法]
看看resource.h里面的id是否有重复的,如果有重复的改一下
[解决办法]
支持operRay

对话框资源有没有?
重复的ID
[解决办法]
我也碰到这种情况过.
1.查资源ID有没有重复或无用的...
2.查对话框中自己添加的函数变量是否正确, 可以试着先将自己加的东东注释掉,然后一个个排除.

读书人网 >VC/MFC

热点推荐