返回列表 回复 发帖

Visual C++从入门到实践 代码问题

本帖最后由 西安黑客 于 2010-11-15 20:32 编辑

版主你好我今天给你发邮件了,你给我回复的邮件我看了!可是我发现我没有错误啊!我创建了dlg1的类,也创建了名为IDD_DIALOG1 的对话框
可是还是提示没有声明dlg1 还是无法编译通过!
我通过对比光盘6.3的代码 我看了你的对话框也是IDD_DIALOG1啊
你能否帮我看看我发给你的源代码!
2# 西安黑客


你把代码发到服务邮箱吧 。
好的
我已发送
版主《Visual C++ 从入门到实践》第六章教程有问题,严重的问题我已经发现了!
我按照你的光盘6.3源代码对照我的源代码,我的一直编译错误,最后我将你的所有代码复制到我程序代码里,并且修改了所有的文件名,把CGeliangDlg改成我的文件名Test555,只要是代码里所有的Geliang我都换成我的Test555就可以编译通过了,说明教材缺少一些细节,反正就是按照你的教材一步一步的做最后是不能编译通过的!
最后对比文件程序容量大小都差距很大,我创建的项目只有6MB左右,而你创建的要达到14MB左右呢!说明你的代码有很多东西而我却没有,该快修改吧!
我研究了一个月都没弄明白为什么你的教材一直编译有问题,肯定还是你写书的时候遗漏了好多东西!
本帖最后由 西安黑客 于 2010-11-16 13:08 编辑

书中提到过“创建对话框需要在程序中定义使用这个资源的对话框类,这样在程序中才可以使用该对话框资源以实现预定的功能”,然后书中就没有提到和演示如何定义这个资源的对话框类的方法,而是直接创建了一个新类,并且添加了IDOK函数和相关的代码!也就是说书本很快的就跳过去了一些细节而是直接把IDOK的对应代码写了出来所以编译错误!
我恳请作者好好看一下《Visual C++ 从入门到实践》第六章 6.2.1的内容!我按照书上的步骤一步一步的做下去是完全错误的,代码不可能编译通过,而且书中截图也和实际创建的有些出入!
问题如下:在你创建了新类 dlg1的New Class对话框截图中Dialog ID: IDD_DIALOG2,这个我们在创建的时候如果只增加一个新的DIALOG对话框的时候ID应该是IDD_DIALOG1才对不可能是DIALOG2,因为DIALOG2是要创建1个以上的DIALOG才会安字母顺序变成DIALOG1。。2。。3这样的排序!
终于找到问题所在了,确实是书中没有写到过的
经过我对比代码发现在FileView源代码查看中GeliangDlg.cpp文件的开头是有#include "dlg1.h"定义的
而我按照书中创建后我自己的Test555.cpp文件里缺少头文件#include "dlg1.h",我自己添加了这个头文件就编译成功了!
我最后想说一下作者确实是有些粗心大意了,书中的确没有提到过要添加这个头文件,所以编译老是错误!
希望作者以后好好审阅自己的编写过程!既然我是初学者肯定有些东西是不会自己想到的,请作者多考虑一下,也许这个问题对你来说是很简单的,你认为大家应该都知道的!我认为最好是一步一步的教,哪怕是你们认为最基本的常识我觉得也应该在书本中多多提到。
7# 西安黑客

谢谢你的建议,我们会仔细考虑你的建议,并根据这类情况,对书做相应修订。
7# 西安黑客


你好。已经做了勘误。有空看一下。勘误下载:
附件: 您所在的用户组无法下载或查看附件
我也遇到了同样的问题,就是要加那个:#include "dlg1.h".也就通过了,但过了两个月也搞清楚的,书中没用具体说明。我还遇到了其他的问题,我想要得到帮助。我看在那里,怎样才能把问题说给清楚。
返回列表