代码之家  ›  专栏  ›  技术社区  ›  Martijn

在Delphi中通过自动化使对象模型可用:最简单的方法是什么?

  •  3
  • Martijn  · 技术社区  · 16 年前

    自动化似乎是完成这项工作的一个相当安全的方法。我们考虑的一个用途是使它可用于VBA/Office,并生成一个.NET程序集(基于Automation对象,这很容易)。

    现在我正在研究如何在Delphi中创建一个自动化服务器,在类型库向导中设计组件,然后生成基础代码,这看起来很麻烦。

    官方规章制度中描述了这些计算结果,但这些规则尚未得到批准,因此在实施之前仍有可能发生变化,它们很可能会发生变化,可能会非常广泛。等待最终版本不是一个选择。

    $METHODINFO ON 在我看来,这需要编写包装器来通过IDispatch接口返回对象。因为这里有超过100个不同的类,这看起来不是一个有吸引力的选择。 编辑: TObjectDispatch足够聪明,可以包装属性和方法返回的任何对象;因此只需要包装顶级对象。然而,缺少完整的类型库并不意味着只能进行后期绑定。

    在Delphi中编写COM可访问的对象模型还有其他更简单的方法吗?

    2 回复  |  直到 16 年前
        1
  •  2
  •   Ondrej Kelle    16 年前

        2
  •  0
  •   r4w8173    16 年前

    从RTTI生成接口描述是一个好主意!生成接口后,可以从它们生成delphi单元并在类中实现。当然,大多数都已经实现了,因为毕竟您已经从这些类生成了接口。之后,可以使用RTTI手工完成后期绑定解析,并在可编写脚本的类的公共基类中实现IDispatch和IDispatchEx。

    推荐文章