0

我正在使用 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 工具,我也会遇到同样的问题。

4

2 回答 2

5

我不确定,但如果名称与现有名称冲突(例如,reserwed 单词等),通常会在名称前附加下划线。可能是这样的。

于 2009-02-10T07:33:20.477 回答
3

由于 tlibimp.sym 中的映射,Assign 被重命名为 Assign_,这是一个与tlibimp.

另一段逻辑不断地附加“_”,直到该名称相对于先前的全局名称tlibimp已找到为止是唯一的。所有枚举成员都被解释为全局变量。生成的 .pas 文件中是否还有其他 _amTile 等实例?

于 2009-02-10T10:19:18.063 回答