!!!!!发现了VC.net中文版的一个巨大的bug,偶已找到了解决的办法,大家来看喽

xiaoyusc 2002-10-25 10:09:39
相信各位朋友一定开发过可以显示对话框的常规MFC DLL,例如显示一个登陆对话框并进行口令校验。我在VC6下面做时,一点问题都没有。可是转到VC.net中文版之后,麻烦却来了。下面的操作,大家可以试试(一定要用中文版,英文版我不知道是否也会出错)

1、用VC.net新建一个常规MFC DLL项目;
2、在资源编辑器中,插入一个对话框资源;
3、编译此项目,系统会提示:
“DlgDLL.rc (158): error RC2135 : file not found: 936”

问题出在哪里呢?我用任务列表窗口查看,有以下信息:“e:\Study\DlgDLL\DlgDLL.rc(158): error RC2135 : file not found: 936”,原来是刚加入的对话框使编译失败。这是怎么回事呢?经过和VC6生成的相似工程的比较,我终于找到了解决办法,步骤很简单:

1、在VC.net的“解决方案资源管理器”窗口中,用鼠标右击工程的rc文件,本例中是DlgDLL.rc,在弹出菜单中选择“打开方式”,然后在出现的对话框中选择“源代码(文本)编辑器”,随后单击“打开”按钮;
2、定位到文本形式的rc文件的最后几行,你回看到类似于下面的代码:
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_CHS)
语言 4、2
#pragma code_page(936)
#include "res\DlgDLL.rc2" // 非 Microsoft Visual C++ 编辑资源
#include "afxres.rc" // 标准组件
#endif
3、将这段代码中的“语言 4、2”改为“LANGUAGE 4,2”;
4、保存并重新编译,一切OK!

不知在英文版下是否也有同样的bug,微软也真不够意思! :-)
...全文
20 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

16,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧