什么是dispinterface声明用于?

时间:2009-11-06 13:55:21

标签: delphi com

当您在Delphi中创建一个类型库并创建一个接口和相关的CoClass时,Delphi也会创建匹配的dispinterface声明。

我的理解是这些与我的接口派生自IDispatch的事实有关,但我认为TAutoObject实现了IDispatch所需的一切。所以我的问题有三个:

  1. 用于什么的调度接口?
  2. 为什么需要?
  3. 如何使用它?

2 个答案:

答案 0 :(得分:4)

COM就像VOODOO一样,只有你愿意被它的力量所吞噬,你才应该参与其中!

当你深入了解细节时,COM确实是一个非常复杂的主题。然而,从表面上看,像Delphis这样的实现为您提供了使用它所需的所有工具。但是,如果你对降低和肮脏感兴趣,那么有一些非常好的关于COM的书籍,包括(从德尔福的角度来看)Delphi Com Programming

要真正简化并尝试回答您的问题。

  1. 由于使用指针(或类似的东西)的限制,VB无法处理IUnknown,因此Microsoft添加了允许VB与COM对象交互的dispatch或disp交互。然后,这些调度接口成为Ole Automation对象(COM的一个分支)的基础。
  2. 让VB与COM一起使用
  3. 让Delphi为您做到这一点。

答案 1 :(得分:3)

TechVanguards.com是Delphi& COM网站内容非常好。它有教程和一些高级示例 您将找到有关disp interfaces的信息以及如何使用它们的示例。