我有一个单元,它的implementation
部分有一个resourcestring
。如何在另一个单元中获取resourcestring
的标识符?
unit Unit2;
interface
implementation
resourcestring
SampleStr = 'Sample';
end.
如果它在interface
部分可用,我可以写下:
PResStringRec(@SampleStr).Identifier
在单元的implementation
部分中声明的任何内容都是该单元的私有。它不能直接从另一个单元访问。因此,您将不得不:
-
将
resourcestring
移动到interface
部分:unit Unit2; interface resourcestring SampleStr = 'Sample'; implementation end.
uses Unit2; ID := PResStringRec(@Unit2.SampleStr).Identifier;
-
将
resourcestring
留在implementation
部分,并在interface
部分声明一个函数以返回标识符:unit Unit2; interface function GetSampleStrResID: Integer; implementation resourcestring SampleStr = 'Sample'; function GetSampleStrResID: Integer; begin Result := PResStringRec(@SampleStr).Identifier; end; end.
uses Unit2; ID := GetSampleStrResID;