为什么GenTLB重命名符号(附加'_') [英] Why is GenTLB renaming symbols (appending '_')
问题描述
我正在使用GenTLB.exe将ridl文件编译为.tlb和_TLB.pas文件。
I am using GenTLB.exe to compile a ridl file to .tlb and _TLB.pas files.
在生成的_TLB.pas文件中,有提示
In the resulting _TLB.pas file, there are hints that it has renamed a number of symbols by appending an underscore to the end of the name.
提示的示例为:
// 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一起使用的命令行是:
The command line I use with GenTLB is:
GenTLB -P -Pt+ <ridl file>
如果我也使用tlibimp工具,也会遇到同样的问题。
I get the same problem occuring if I use the tlibimp tool as well.
推荐答案
由于tlibimp.sym中的映射,Assign被重命名为Assign_,tlibimp.sym是与相同目录的INI格式文本文件。 tlibimp
。
Assign is renamed to Assign_ because of a mapping in tlibimp.sym, a INI-format text file in the same directory as tlibimp
.
另一条逻辑不断将'_'附加到相对于先前全局名称而言唯一的名称tlibimp
已找到。所有枚举成员都被解释为全局变量。生成的.pas文件中还有_amTile等其他实例吗?
Another piece of logic continuously appends '_' until the name is unique with respect to prior global names tlibimp
has found. All enumeration members are interpreted as globals. Are there any other instances of _amTile etc. in the generated .pas file?
这篇关于为什么GenTLB重命名符号(附加'_')的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!