在 Delphi 中,您可以声明要存储在模块资源部分的字符串表中的字符串。
resourcestring
rsExample = 'Example';
在编译时,Delphi 会为其分配一个 ID 并将其存储在字符串表中。
有没有办法检索声明为资源字符串的字符串的 ID?
原因是我使用了一个像 gnugettext 一样工作的包。System.pas 中的某些函数(如 LoadResString)是挂钩的,因此当我在表达式中使用资源字符串时,它将被不同的字符串(翻译)替换。当然,这非常方便,但有时我需要资源字符串的原始(未翻译)文本。
当我能够检索到字符串的资源 id 时,我可以调用 LoadString API 来获取原始文本,而不是翻译文本。