【问题标题】:How to import IDL into Delphi?如何将 IDL 导入 Delphi?
【发布时间】:2015-03-05 12:35:13
【问题描述】:

如何将接口定义语言 (idl) 文件导入Delphi;将类型和接口转换为 pascal 文件?

我试过了:

  • 文件打开:只显示.idl文本文件的文本
  • 项目添加到项目:它只是(就像)将.idl 文本文件添加到项目中
  • 组件安装组件导入类型库添加:但会导致处理崩溃
  • 组件安装组件导入ActiveX控件添加:但会导致处理崩溃
  • 使用 Embarcadero 的 GenTLB 工具:失败(这是有道理的,as GenTLB it doesn't support IDL,只有“RIDL”):

    D:\>gentlb d:\develop\avatar\pdb\source\import\CorSym.idl
    Embarcadero GenTLB Version 12.16581
    Copyright(c) 1995-2010 Embarcadero Technologies, Inc.
    
    Opening  'd:\develop\avatar\pdb\source\import\CorSym.idl'
    ***ERRORS*** - 3 errors encountered:
    Error E0001 CorSym.idl 14: 'library' expected, found 'cpp_quote' instead
    Error E0001 CorSym.idl 49: Type keyword expected, found 'const' instead
    Error E0001 CorSym.idl 63: '<EOF>' expected, found 'module' instead
    

阅读奖励

【问题讨论】:

标签: delphi com automation idl delphi-xe6


【解决方案1】:

您可以通过 Embarcadero 工具使用两阶段流程:

  1. 使用gentlb 从您的 IDL 文件创建类型库。
  2. 使用tlibimp 从类型库创建一个Pascal 导入文件。

我个人使用gentlb 从 Embarcadero IDE 生成的 .ridl 文件创建类型库。我相信 .ridl 是 IDL 的 Embarcadero 风格,与标准 MS IDL 不兼容。如果你有 MS 风格的 IDL,那么你会使用 MS IDL 编译器来生成类型库。

【讨论】:

    猜你喜欢
    • 2017-03-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-09
    • 1970-01-01
    • 2018-11-01
    • 1970-01-01
    • 2012-02-01
    相关资源
    最近更新 更多