.RC 文件中的字符串 ID 在代码中无法识别

问题描述 投票:0回答:1

我正在使用 C++ Builder 11.2 并将以下

strings.rc
文件添加到我的项目中:

#define ID_TESTSTRING    1

STRINGTABLE
BEGIN
    ID_TESTSTRING,   "Just for testing"
END

在我的

Form1
(Unit1.cpp) 中,我使用以下代码:

void __fastcall TForm1::Button1Click(TObject *Sender)
{
    wchar_t resString[100];
    LoadString(HInstance, ID_TESTSTRING, resString, 100); // undeclared identifier ID_TESTSTRING!
    ShowMessage(resString);
}

问题是我收到此“未声明的标识符”错误。如果我用数字常量

ID_TESTSTRING
替换
1
那么一切都会按预期工作。为什么标识符无法识别?因为,我想在代码中使用 ID,而不是它们的数字常量。

c++builder resourcestring
1个回答
0
投票

标识符不会自动“导出”,也不会在所有源文件中创建为标识符。

您需要将

ID_TESTSTRING
宏定义放在单独的头文件中,并将其包含在资源文件和 C++ 源文件中

© www.soinside.com 2019 - 2024. All rights reserved.