dll中的资源字符串在程序中加载后不完全可见

时间:2014-01-09 13:04:24

标签: c++ string visual-studio mfc resource-loading

我使用VS2008为某个程序(我没有源代码)静态链接到MFC的C ++ DLL插件。

将我的插件集成到软件之后,除了与我的插件名称相对应的字符串资源以及我在资源文件中声明的字符串资源之外,一切正常。

    STRINGTABLE  
    LANGUAGE 9, SUBLANG_DEFAULT
    BEGIN
        IDS_PRC_TEST "TEST"
    END 

然后我在“resource.h”标题中定义了它:

    #define IDS_PRC_TEST            210

我的问题是,在软件的插件列表中我只得到第一个 该字符串资源的字母是“TEST”中的“T”。

  • 我验证了已编译的资源文件(.res),并且没关系

  • 我还使用'Resedit'程序验证了我构建的dll,资源都还可以 (“TEST”完全在dll中)

  • 然后我将插件的资源与另一个插件的资源进行了比较 (可与软件一起提供)名称完全出现。没有区别 资源声明之间。

所以我不明白为什么我的字符串资源没有完全加载,如果来自另一个插件的那个。

如果不够清楚,请随时向我提问以澄清我的解释。

提前感谢您的回答。

1 个答案:

答案 0 :(得分:0)

感谢对这个问题的评论我得到了解决。这确实是一个Unicode / Multibyte问题。所以我所要做的就是在Project-> Properties-> Configuration properties-> General

中更改项目的编码