У меня есть единица, которая имеет resourcestring
в своем разделе implementation
. Как я могу получить идентификатор resourcestring
в другом устройстве?Получить идентификатор ресурса из области реализации
unit Unit2;
interface
implementation
resourcestring
SampleStr = 'Sample';
end.
Если он доступен в разделе interface
, я могу написать это:
PResStringRec(@SampleStr).Identifier
[Согласно Allen Bauer] (http://stackoverflow.com/questions/30390079/how-resourcestring-identifiers-are-generated-by-delphi-complier) : «Компилятор генерирует идентификатор для каждой строки ресурса на основе имени юнита и идентификатора строки ресурса, поэтому он всегда стабилен, даже если значение изменяется». Поэтому вы можете попытаться определить 'PResStringRec (@SampleStr) .Identifier' во время выполнения и использовать определенное значение как постоянное (если вы действительно не можете модифицировать' Unit2' вообще.) – yonojoy