开发者

What are dispinterface declarations used for?

When you create a type library in Delphi and create an interface and the associated CoClass, Delphi also creates matching dispinterface declarations.

My understanding is that these relate to the fact that my开发者_如何转开发 interface derives from IDispatch, but I thought that TAutoObject implements everything needed for IDispatch. So my question is threefold:

  1. What is the dispinterface used for?
  2. Why is it needed?
  3. How does one use it?


COM is like VOODOO you should only get involved if you are willing to be consumed by its power!

COM really is an enormously complicated subject when you get down to the nitty gritty. However on the surface an implementation like Delphis gives you all the tools you need to use it very simply. However if you are interested in getting down and dirty there are some very good books on COM including (from a Delphi perspective) Delphi Com Programming.

To really simplify and try to answer your questions.

  1. VB was not able to deal with IUnknown due to limitations in its use of pointers (or something like that) so Microsoft added dispatch or disp interaces which allowed VB to interact with COM objects. These dispinterfaces then became the basis of Ole Automation objects (a branch of COM).
  2. To Let VB work with COM
  3. Let Delphi do that for you.


TechVanguards.com is Delphi & COM website with really good content. It have tutorials and some advanced examples.
You'll find informations about disp interfaces and examples how to work with them.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜