本人在实际使用VC6,。0的过程中遇到了许多这样那样的错误,或者是有高人指点,现特此总结和大家分享,如有错误请指出:
1.initialization of 'XXX' is skipped by 'case' label 原因及解决办法。
switch 的 case 中不能定义变量,不然就会报错.可能是变量的初始化会因为有时候case条件不被执行而跳过.
后来想到三个解决的方法:
1:用if else 代替 switch 语句;
2:在case中用{}将代码括起来,这样在{}中就能定义变量了;
3:如果变量在各个case中都要用的话,就把变量定义在switch外面吧;
2.vc中如何将一个工程的资源复制到另外一个工程?
步骤:
1 :找到工程2的rc文件,即资源文件,以记事本方式打开该文件,找到Dialog部分,将所要的对话框代码片段复制起来。
2: 找到工程1的rc文件,即资源文件,以记事本方式打开该文件,找到Dialog部分,,将上述复制的代码粘贴到此处。
3:保存工程1的rc文件,如果提示ID有冲突,说明工程2中复制过来的控件ID值在工程1中被占用了或不存在该ID,打开Resource.h文件,找到冲突的ID,换一个整数值,或添
加一个ID,保存该文件
注意:在进行步骤2之前,请先将工程1中的rc文件做个备份,以防止出错,改不回来了。至此,工程2中的对话框就复制到工程1中来了,省去了在工程1中设计对话框,绑定控件的繁重工作。菜单、字符串资源也可进行此复制.
3.问题HC5011: Error的修正VC6(sp6),编译help文件出错。
修改afxhelp.hm的目录。记录备忘,如下:
hlp/myprj.hpj(1) : error:Microsoft (R) Help Compiler
HCRTF 4.03.0002
Copyright (c) Microsoft Corp 1990 - 1995. All rights reserved.
labware.hpj
HC5011: Error: myprj.hpj :
Cannot open the file "c:/Program Files/Microsoft Visual Studio/VC98/MFC/include/afxhelp.hm."
打开hlp/XXXXX.hpj,注意这个文件是根据实际的工程决定的。找到[MAP] #include <c:/Program Files/Microsoft Visual Studio/VC98/MFC/include/afxhelp.hm>(通常在最后)
把afxhelp.hm改为你的vc安装路径下。
4.illegal call of non-static member function错误是函数只有静态成员函数可以这样调用。如果是普通成员函数,要通过对象来调用。static关键字很重要啊!
5.shlwapi.h所包含的函数 可以进行相关路径的操作
1. 加入#include <shlwapi.h>.
2. 在project(工程)->setting(设置)->link(连接)下objiect/library modules(对象/库模块)中加入shlwapi.lib.