在用于构建ocx的Delphi XE7项目中,我有一个带有俄语字符串的rc文件,用于公司名称,文件描述等。当我打开结果ocx的属性窗口时,俄语字符串无法正确显示(有由于编码错误导致的垃圾字符串)。我试图将rc文件转换为Windows-1251,UTF-8和UTF-16编码,然后尝试通过rc文件中的#pragma code_page指令指定相应的文件编码,然后删除#pragma并指定在资源编译器部分的项目中进行编码。在所有情况下,我都相应地更改了VALUE“Translation”字符串。上面没有任何内容对我有用。在Delphi XE7中编写和编译rc文件的正确方法是什么,以便本地化字符串在“属性”窗口中正确显示?
注意1.我在构建服务器上构建ocx,只需将Delphi XE7复制到(并手动设置BDS *环境变量),而不是从可分发的版本中正确安装。
注意2.有关我的rc文件的信息(Windows-1251的#pragma版本)。
#pragma code_page(1251)
LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT
1 VERSIONINFO
FILEVERSION 2,0,0,0
PRODUCTVERSION 2,0,0,0
FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
FILEOS VOS__WINDOWS32
FILETYPE VFT_APP
{
BLOCK "StringFileInfo"
{
BLOCK "041904E3"
{
VALUE "CompanyName", "ИмяКомпании\000"
VALUE "FileDescription", "ИмяМодуля\000"
VALUE "FileVersion", "2.0.0.0\000"
VALUE "InternalName", "Tools\000"
VALUE "LegalCopyright", "Copyright\251 2010-2014\000"
VALUE "LegalTrademarks", "\000"
VALUE "OriginalFilename", "Tools.ocx\000"
VALUE "ProductName", "ИмяПродукта\000"
VALUE "ProductVersion", "2.0.0.0\000"
VALUE "Comments", "No Comments\000"
}
}
BLOCK "VarFileInfo"
{
VALUE "Translation", 1049, 1251
}
}