我正在使用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工具,我也会遇到同样的问题。
答案 0 :(得分:5)
我不确定,但是如果名称与名称冲突并且名称存在冲突(例如,保留字等等),通常会在名称前面附加下划线。 它可能是那样的。
答案 1 :(得分:3)
Assign被重命名为Assign_,这是与tlibimp
在同一目录中的INI格式文本文件。
另一条逻辑连续追加'_',直到名称相对于先前的全局名称tlibimp
找到。所有枚举成员都被解释为全局变量。在生成的.pas文件中是否还有_amTile等的其他实例?