首页新闻找找看学习计划

Debug Assertion failed dlgdata.cpp line40

0
悬赏园豆:20 [已关闭问题] 关闭于 2012-03-24 09:59

问题如下:


编译、链接无错,全通过,但是准备运行时,弹出了这个对话框,如标题。 具体定位到dlgdata.cpp文件,这个文件是MFC的。出现问题的代码如下: HWND CDataExchange::PrepareCtrl(int nIDC) { ASSERT(nIDC != 0); ASSERT(nIDC != -1); // not allowed HWND hWndCtrl; COleControlSite* pSite = NULL; m_pDlgWnd->GetDlgItem(nIDC, &hWndCtrl); if (hWndCtrl == NULL) { // Could be a windowless OCX pSite = m_pDlgWnd->GetOleControlSite(nIDC); if (pSite == NULL) { TRACE(traceAppMsg, 0, "Error: no data exchange control with ID 0x%04X.\n", nIDC); ASSERT(FALSE);      //在这个地方出现了问题。其实是在上面就出现了问题,只是在这个地方才提出来。AfxThrowNotSupportedException(); } } m_idLastControl = nIDC; m_bEditLastControl = FALSE; // not an edit item by default
return hWndCtrl; }


项目情况如下:

我建立一个对话框类CMainWndDlg,在这个对话框上只有添加了一个CTreeControl,关联变量为CTreeControl 类型的m_CircleTree.(到现在为止,我还值得怀疑的地方就是我改动了对话框的IDD,因为全段时间我不改变这个IDD程序就不运行)。


 已经尝试过的方法:
在网上也查了一下,中文的,英文的,都看过。没解决。 也尝试着在CMainWndDlg类里的DoDataExchange(CDataExchange* pDX)把//DDX_Control(pDX, IDC_CIRCLETREE, m_CircleTree);掉,对,这样,程序确实可以运行了,但是我在对话框上面添加的这个tree control就不能用了。
也尝试过在这个对话框上在添加一个tree control,新添加的控件出现同样的问题,也就刚刚添加,全新。所以,我怀疑是对话框的问题。对吗?但是不知道怎么把才好?


小弟新手,望各路大神不舍赐教,指点小弟一下~ :-)

SeafowlRO的主页 SeafowlRO | 菜鸟二级 | 园豆:202
提问于:2012-03-19 23:31
< >
分享
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册