我在InitInstance函数中,程序主界面对话框对象创建之后,想创建一个非模态对话框代码如下:CTestDlg dlg;//程序的主界面CDebugDlg dbDlg;
dbDlg.Create(ID_DB,&dbDlg);//执行到这句就会出错dlg.Domodal();
...Create的时候总是Assert出错,请问是为什么?能否从原理上给解释下? 谢谢
dbDlg.Create(ID_DB,&dbDlg);//执行到这句就会出错dlg.Domodal();
...Create的时候总是Assert出错,请问是为什么?能否从原理上给解释下? 谢谢
dbDlg.Create(ID_DB);//
怎么可以自己作为自己的父窗口呢?况且此时这个窗口还没有创建……
,那句我填错了,应该是dbDlg.Create(ID_DB,&dlg);
但是即使改成这样,或者父窗口干脆不填,一样会出错,是为什么?
dbDlg.Create(ID_DB,&dbDlg);//执行到这句就会出错dlg.Domodal();
...
几个问题:1: dbDlg.Create(ID_DB,&Dlg); dlg 还没有创建窗口,句柄为NULL,会导致问题2: Create 是无模对话框,要求 初始化 m_pMainwnd, 并且 InitInstance 返回 TRUE;并切程序退出时要DestroyWindow;3:排除以上问题,如果还出现错误,则 dbDlg 类有问题,估计在 构造函数,或DoDataExchange里用了非法的东西