小弟在学习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版本的问题.
可是执行时在对话框里单击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版本的问题.
解决方案 »
- new时报错
- 加速键定义问题
- 基于对话框的问题
- 如何让一个函数调用另一个消息响应函数
- 怎样得到在网页中用鼠标选中的文字内容?(在线等)
- 怎样做MPEG4播放控件?~~~~~~
- ondraw里有个参数CDC *pDC,我在onpaint里也想用到,该怎么办?
- 使用ShellExecute函数,怎么来执行一个文件?
- 句柄为何物?
- 使用OLE方式读写Excel文件,如果使用Excel软件打开其他Excel文件,则程序当前操作的Excel文件也会被显示出来
- DirechShow编程,怎样释放IGraphBuilder中的Filtert和Filter中的Pin?
- 一个基于SDI的程序,如何在DialogBar中加入的进度条上显示目前的百分比?
为什么你的不行?
的确不行,书中的代码用class wizard查看strLang是CString型的,可是如果用class wizard把这个变量删除在添加也只能是int型的,估计要加CString型的要自己写代码
ModVer: 6.0.8797.0 Offset: 00017c5c这些是.NET运行时CLR给出的错误,你是不是把程序编译成.NET格式了。
不过我认为不适合学习.
书上的例子的确是droplist,可他用的变量类型是CString.
难道是手工加的.
CString m_strLang;
然后在DoDataExchange里加上
DDX_CBString(pDX, IDC_LANG, m_strLang);
并在对话框构造函数里添加相应的初始化语句
m_strLang = _T("");
就行了。
你先把CComboBox改为DropDown,然后用classWizard添加变量
然后再把它改回来变成DropList,搞掂!!!