Почему GenTLB переименовывает символы (добавляя '_') - PullRequest
0 голосов
/ 10 февраля 2009

Я использую GenTLB.exe для компиляции файла ridl в файлы .tlb и _TLB.pas.

В результирующем файле _TLB.pas есть подсказки, что он переименовал ряд символов, добавив подчеркивание к концу имени.

Пример подсказок:

// Errors:
//   Hint: Symbol 'Assign' renamed to 'Assign_'
//   Hint: Enum Member '_amStretch' of 'EnumVRSAppliedMaterial' changed to '_amStretch_'
//   Hint: Enum Member '_amTile' of 'EnumVRSAppliedMaterial' changed to '_amTile_'

Командная строка, которую я использую с GenTLB:

GenTLB -P -Pt+ <ridl file>

У меня возникает такая же проблема, если я использую и инструмент tlibimp.

Ответы [ 2 ]

5 голосов
/ 10 февраля 2009

Я не уверен, но часто подчеркивание добавляется перед именем, если имя конфликтует с существующим именем (например, зарезервированное слово и т. Д.). Это может быть что-то подобное.

3 голосов
/ 10 февраля 2009

Назначение переименовано в Назначение_ из-за сопоставления в tlibimp.sym, текстовом файле в формате INI в том же каталоге, что и tlibimp.

Другая часть логики постоянно добавляет '_', пока имя не станет уникальным по отношению к предыдущим глобальным именам tlibimp. Все члены перечисления интерпретируются как глобальные. Есть ли другие экземпляры _amTile и т. Д. В сгенерированном файле .pas?

...