提问人:Tracer 提问时间:11/7/2023 更新时间:11/9/2023 访问量:25
里面的字符串 ID。代码中无法识别 RC 文件
String ID inside .RC file is not recognized in code
问:
我正在使用 C++ Builder 11.2,并将以下文件添加到我的项目中:strings.rc
#define ID_TESTSTRING 1
STRINGTABLE
BEGIN
ID_TESTSTRING, "Just for testing"
END
在我的(Unit1.cpp)中,我使用以下代码:Form1
void __fastcall TForm1::Button1Click(TObject *Sender)
{
wchar_t resString[100];
LoadString(HInstance, ID_TESTSTRING, resString, 100); // undeclared identifier ID_TESTSTRING!
ShowMessage(resString);
}
问题是我收到这个“未声明的标识符”错误。如果我用它的数值常量替换,那么一切都按预期工作。为什么标识符无法识别?因为,我想在我的代码中使用 ID,而不是它们的数值常量。ID_TESTSTRING
1
答:
3赞
Some programmer dude
11/8/2023
#1
标识符不会自动“导出”,也不会在所有源文件中创建为标识符。
您需要将宏定义放在单独的头文件中,该文件包含在资源和 C++ 源文件中。ID_TESTSTRING
资源.rh
#define ID_TESTSTRING 1
资源.rc
#include "resources.rh"
STRINGTABLE
BEGIN
ID_TESTSTRING, "Just for testing"
END
单位1.cpp
#include "resources.rh"
void __fastcall TForm1::Button1Click(TObject *Sender)
{
wchar_t resString[100];
LoadString(HInstance, ID_TESTSTRING, resString, 100);
ShowMessage(resString);
}
评论
ID_TESTSTRING