no data exchange control with ID 0x03F7
2011-05-13 17:05
405 查看
=============================================================
标题:no data exchange control with ID 0x03F7
备注:wince + vs2005
日期:2011.5.13
姓名:朱铭雷
=============================================================
今天调试程序,调着调着突然发现某个界面完全没有响应了。里面有几个Button,ComboBox,ListCtrl,Edit Control等控件,全部都不响应了。在OnInitDialog中加个断点,发现这都进不来。
Rebuild All
程序也没错误,根据以往的经验,这类问题有可能是Resource.h和.rc文件有问题,查了一会也没看出有什么问题。这时候瞄了一眼Output窗口。发现了一条错误信息:
Error: no data exchange control with ID 0x03F7.
呃?data exchange出错了,这肯定是问题的原因了。到Resource.h文件中查找ID值为0x03F7的宏定义,找到了IDC_COMBO1。
#define IDC_COMBO1 1015
整个项目搜索,找到了如下代码行:
void CEpidPrevInfoColDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
DDX_Control(pDX, IDC_COMBO1, m_CMBAnitype);
DDX_Control(pDX, IDC_LIST_EAR, m_ListEar);
}
CEpidPrevInfoColDlg,正是出问题的界面。界面上本来有一个ComboBox控件,并且我为之关联了一个控制型变量m_CMBAnitype。但后来我又把这个ComboBox控件的ID修改为IDC_CMB_XUZHONG。但问题来了,上面的DDX_Control部分没有把IDC_COMBO1自动修改为IDC_CMB_XUZHONG。
再看.rc资源文件
COMBOBOX IDC_CMB_XUZHONG,30,31,40,92,CBS_DROPDOWN | WS_VSCROLL | WS_TABSTOP
这已经修改为了IDC_CMB_XUZHONG。
那么DDX_Control(pDX, IDC_COMBO1, m_CMBAnitype);这个信息交换肯定是失效了。所以导致了上面发生的一些列问题。手动把IDC_COMBO1修改为IDC_CMB_XUZHONG,一切恢复正常了。
void CEpidPrevInfoColDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
DDX_Control(pDX, IDC_CMB_XUZHONG, m_CMBAnitype);
DDX_Control(pDX, IDC_LIST_EAR, m_ListEar);
}
汗,慢慢积累经验吧。
标题:no data exchange control with ID 0x03F7
备注:wince + vs2005
日期:2011.5.13
姓名:朱铭雷
=============================================================
今天调试程序,调着调着突然发现某个界面完全没有响应了。里面有几个Button,ComboBox,ListCtrl,Edit Control等控件,全部都不响应了。在OnInitDialog中加个断点,发现这都进不来。
Rebuild All
程序也没错误,根据以往的经验,这类问题有可能是Resource.h和.rc文件有问题,查了一会也没看出有什么问题。这时候瞄了一眼Output窗口。发现了一条错误信息:
Error: no data exchange control with ID 0x03F7.
呃?data exchange出错了,这肯定是问题的原因了。到Resource.h文件中查找ID值为0x03F7的宏定义,找到了IDC_COMBO1。
#define IDC_COMBO1 1015
整个项目搜索,找到了如下代码行:
void CEpidPrevInfoColDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
DDX_Control(pDX, IDC_COMBO1, m_CMBAnitype);
DDX_Control(pDX, IDC_LIST_EAR, m_ListEar);
}
CEpidPrevInfoColDlg,正是出问题的界面。界面上本来有一个ComboBox控件,并且我为之关联了一个控制型变量m_CMBAnitype。但后来我又把这个ComboBox控件的ID修改为IDC_CMB_XUZHONG。但问题来了,上面的DDX_Control部分没有把IDC_COMBO1自动修改为IDC_CMB_XUZHONG。
再看.rc资源文件
COMBOBOX IDC_CMB_XUZHONG,30,31,40,92,CBS_DROPDOWN | WS_VSCROLL | WS_TABSTOP
这已经修改为了IDC_CMB_XUZHONG。
那么DDX_Control(pDX, IDC_COMBO1, m_CMBAnitype);这个信息交换肯定是失效了。所以导致了上面发生的一些列问题。手动把IDC_COMBO1修改为IDC_CMB_XUZHONG,一切恢复正常了。
void CEpidPrevInfoColDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
DDX_Control(pDX, IDC_CMB_XUZHONG, m_CMBAnitype);
DDX_Control(pDX, IDC_LIST_EAR, m_ListEar);
}
汗,慢慢积累经验吧。
相关文章推荐
- no data exchange control with ID的解决方法
- no data exchange control with ID的解决方法
- vs2008的错误:Error: no data exchange control with ID 0x0409
- Error: no data exchange control with ID 0x%04X.\n ", nIDC
- Error: no data exchange control with ID xx”案例
- 绑定控件导致程序崩溃的问题:Error: no data exchange control with ID 0x%04X.
- Error: no data exchange control with ID xx 错误分析
- no data exchange control with ID的解决方法
- Error: no data exchange control with ID xx
- 西门子PLC通信方式--LIBNODAVE -- Exchange data with Siemens PLCs
- 解决org.apache.shiro.session.UnknownSessionException: There is no session with id的问题(转)
- Caused by: libcore.io.GaiException: getaddrinfo failed: EAI_NODATA (No address associated with hostn
- shiro学习随笔【四】session过期报 org.apache.shiro.session.UnknownSessionException: There is no session with id
- Exchange新建RUS提示“id no: c0072141”错误
- git clone出现unbale to negotiate with 192.168.53.31 no matching key exchange method found
- No Target with ID 64 in the System 错误修正办法
- 找不R文件切且报 no resource found that matches the given name(“at ' layout_above ' with value ' @id/text_p'
- Xcode7 真机测试出现 "The account 'Apple ID' has no team with ID 'team ID'的解决方案
- no lable views point to this text field with an android:lablFor=”@+id/@+id
- shiro学习随笔【四】session过期报 org.apache.shiro.session.UnknownSessionException: There is no session with id