| Идентификаторы |
|
|
|
|
Все элементы проекта (значения, ресурсы, типы ресурсов, файлы) имеют идентификаторы. Идентификатор состоит из двух полей: Имя - строка в кодировке Юникод; Индекс - числовое значение. Значение идентификатора отображается в виде Имя[#Индекс] Например, идентификатор типа ресурса RT_RCDATA[#10] - имя: RT_RCDATA, индекс: 10. Как правило, если индекс имеет нулевое значение, он не отображается. Например, идентификатор ресурса TABOUT - имя: TABOUT, индекс: 0. В некоторых случаях поле имени может быть пустым, тогда отображается индекс не зависимо от значения: [#0]. Для указания расположения элемента в проекте используются составные идентификаторы - перед идентификатором объекта через точку указывается идентификатор владельца. Например: RT_RCDATA[#10].TABOUTFORM.AboutForm.btClose.Height Как правило, поля идентификатора соответствуют атрибутам ресурсов в локализуемом файле. Исключением являются случаи, когда производится автоматическое формирование поля имени по индексу для обеспечения точной идентификации ресурсов. Например, к таким исключениям относятся: 1. формирование имени стандартного типа ресурсов PE файлов: идентификатору с индексом 1 присваивается имя RT_CURSOR, с индексом 2 - RT_BITMAP и т.д. Получаются обозначения RT_CURSOR[#1], RT_BITMAP[#2], ... Если в локализуемом файле встретится ресурс с именем, совпадающим со стандартным (типы ресурсов и ресурсы в PE файлах могут иметь либо имя, либо индекс), то идентификатор будет отображаться без указания индекса: RT_CURSOR, RT_BITMAP и т.п. 2. получение имен строк RT_STRING[#6] из DRC файлов Delphi/C++ Builder. Строки этого типа ресурсов в PE файлах идентифицируются по индексу. При подключении DRC файла происходит заполнение поля имени. Например, оригинальная строка имела индекс 65297, после заполнения поле имени получилось обозначение: ComStrs_sTabFailGetObject[#65297].
|