如何在Delphi中执行ConnectionPoint?

我正在写一个DLL通过它的IDispatch接口与Excel交谈。 在VBA中,我传入一个包含Application.Caller的variables,通过这个variables我通过.pDispVal绘制IDispatch指针。

我想知道的是如何通过该IDispatch指针查询接口。 我想build立一个连接点容器,从那里find一个连接点到Excel。 最终目标是将事情与Excel的计算事件绑定,并能够操纵Excel数据。

我会推荐Binh Ly的永久优秀(Delphi)COM教程在http://www.techvanguards.com/其中包括完全致力于IConnectionPoint和相关机制的章节。

他还提供了一个用于生成EventSink代码的免费工具。

不过,我强烈地感觉到,如果您只想对Excel Application对象触发的事件做出反应,则完全不需要。 您是否简单地使用了Delphitypes库导入器为您生成的包装对象? 你当然也可以写你自己的包装。

再说一遍,我还没有为Excel编写任何外挂程序 – 但是我的确为Outlook和Word编写了外挂程序,Excel在这方面确实应该没有什么不同。

Brian Long解释说: http : //www.blong.com/Conferences/IConUK2000/DelphiMoreAutomation/More%20Automation%20In%20Delphi.htm#Events

其他资源: