从实现区域获取资源字符串标识符



我有一个单元,它的implementation部分有一个resourcestring。如何在另一个单元中获取resourcestring的标识符?

unit Unit2;
interface
implementation
resourcestring
  SampleStr = 'Sample';
end.

如果它在interface部分可用,我可以写下:

PResStringRec(@SampleStr).Identifier

在单元的implementation部分中声明的任何内容都是该单元的私有。它不能直接从另一个单元访问。因此,您将不得不:

  1. resourcestring移动到interface部分:

    unit Unit2;
    interface
    resourcestring
      SampleStr = 'Sample';
    implementation
    end.
    

    uses
      Unit2;
    ID := PResStringRec(@Unit2.SampleStr).Identifier;
    
  2. 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;
    

相关内容

  • 没有找到相关文章

最新更新