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

I am not sure, but often an underscore is appended in front of a name, if the name is conflicting with and exsisting name (e.g. reserwed word, and so). It could be something like that.

于 2009-02-10T07:33:20.477 に答える
3

Assign is renamed to Assign_ because of a mapping in tlibimp.sym, a INI-format text file in the same directory as tlibimp.

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?

于 2009-02-10T10:19:18.063 に答える