什么是dispinterface声明用于?

Cob*_*ger 5 delphi com

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

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

  1. 用于什么是dispinterface?
  2. 为什么需要?
  3. 如何使用它?

Tob*_*len 5

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

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

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

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


zen*_*dar 2

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