我的单位resourcestring
部分有implementation
。如何在另一个单元中获取resourcestring
的标识符?
unit Unit2;
interface
implementation
resourcestring
SampleStr = 'Sample';
end.
如果它在interface
部分中可用,我可以这样写:
PResStringRec(@SampleStr).Identifier
答案 0 :(得分:4)
单位implementation
部分中声明的任何内容都是私有到该单位。 CAN NOT 可以直接从其他设备访问。所以,你必须要么:
将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;