小弟在学习MFC,按照<<vc++技术内幕>>(4e)上的例子Ex06a生产代码,
可是执行时在对话框里单击Ok程序就出错了,
下面时错误签名:
AppName: ex06a.exe  AppVer: 1.0.0.1  ModName: msvcrtd.dll
ModVer: 6.0.8797.0  Offset: 00017c5c
我用的时vc6.0(sp5)
注:
1.我用书籍光盘上的代码一切正常.
2.书中对控件ID为IDC_LANG的droplist combo添加CString变量,可我只能加int型的,我同时也改了相应的代码.
向高手请教:
是我的什么地方设置不对吗,还是由于VC版本的问题.

解决方案 »

  1.   

    2.书中对控件ID为IDC_LANG的droplist combo添加CString变量,可我只能加int型的,我同时也改了相应的代码.
    为什么你的不行?
      

  2.   

    书中对控件ID为IDC_LANG的droplist combo添加CString变量,可我只能加int型的,我同时也改了相应的代码
    的确不行,书中的代码用class wizard查看strLang是CString型的,可是如果用class wizard把这个变量删除在添加也只能是int型的,估计要加CString型的要自己写代码
      

  3.   

    AppName: ex06a.exe  AppVer: 1.0.0.1  ModName: msvcrtd.dll
    ModVer: 6.0.8797.0  Offset: 00017c5c这些是.NET运行时CLR给出的错误,你是不是把程序编译成.NET格式了。
      

  4.   

    你最好别学这本书,还是学MFC Windows 程序设计。虽然很多人认为<<VC++技术内幕>>好,
    不过我认为不适合学习.
      

  5.   

    你改过combobox的类型么?droplist对应的变量只能是int ,dropdown才能对应cstring
      

  6.   

    yinx(★什么时候才能变成红色的
    书上的例子的确是droplist,可他用的变量类型是CString.
    难道是手工加的.
      

  7.   

    ClassWizard是只能添加int型,自己手工添加
    CString m_strLang;
    然后在DoDataExchange里加上
    DDX_CBString(pDX, IDC_LANG, m_strLang);
    并在对话框构造函数里添加相应的初始化语句
    m_strLang = _T("");
    就行了。
      

  8.   

    最简单的办法:
    你先把CComboBox改为DropDown,然后用classWizard添加变量
    然后再把它改回来变成DropList,搞掂!!!
      

  9.   

    yurling(雨润)的方法可以吗?试一下
      

  10.   

    我的问题不在这里,关键是程序会在运行中终止.当在弹出的对话框中选择ok或cancel或按回车时.我想这个变量是int还是CString不影响吧