我是靠谱客的博主 安静犀牛,最近开发中收集的这篇文章主要介绍vc常见错误汇总 (转载)dlgdata.cpp Line 43 错误,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

(转载)dlgdata.cpp Line 43 错误

原贴地址地址:http://www.cnblogs.com/VRS_technology/archive/2010/08/04/1792168.html

一般是控件绑定了变量,该控件被删除后,忘记在DoDataExchange中将其对应的DDX_语句删除。只要删除就OK了。

最好resource里的资源ID也一起干掉。

------------------------------------------------------------------------------------------------

近来在vc中遇到 dlgdata.cpp的问题,一般情况下,出现这种问题的原因:

1、在移植对话框的过程中,对话框中的控件的参数类型不正确

例如:本来为IDC_List,显示为1000

修改方法:就是把相应的类型改为 IDC_List

2、在ddx控制中出现的一些参数在dlg中没有 解决办法:删掉相应的参数

希望以上办法对大家有所帮助。

-----------------------------------------------------------

你的对话框中某个ID对应的控件不存在 
估计你删除了界面上的控件,但是没有删除其映射关系

以下是出现断言错误的地方,Line43我已标出

HWND   CDataExchange::PrepareCtrl(int   nIDC) 

ASSERT(nIDC   !=   0); 
ASSERT(nIDC   !=   -1);   //   not   allowed 
HWND   hWndCtrl; 
m_pDlgWnd-> GetDlgItem(nIDC,   &hWndCtrl); 
if   (hWndCtrl   ==   NULL) 

TRACE1( "Error:   no   data   exchange   control   with   ID   0x%04X.n ",   nIDC); 
*******Line43**** ASSERT(FALSE); 
AfxThrowNotSupportedException(); 

m_hWndLastControl   =   hWndCtrl; 
m_bEditLastControl   =   FALSE;   //   not   an   edit   item   by   default 
ASSERT(hWndCtrl   !=   NULL);       //   never   return   NULL   handle 
return   hWndCtrl; 
}

 

没有找到这个相应控件类型 
一般有三种情况:一是控件ID不存在,二是控件未创建,三是控件的类型不对 
看看DoDataExchange函数

我遇到这中情况是 弹不出对话框 后来仔细查看是 控件ID和后面的数据 根本不匹配 也就是他们根本无法交换数据 所以遇到了上述错误 要缩小范围 一般情况下都是在【DoDateExchange】 中。 仔细查看控件ID是否正确。


最后

以上就是安静犀牛为你收集整理的vc常见错误汇总 (转载)dlgdata.cpp Line 43 错误的全部内容,希望文章能够帮你解决vc常见错误汇总 (转载)dlgdata.cpp Line 43 错误所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(35)

评论列表共有 0 条评论

立即
投稿
返回
顶部