现在有一个由VC开发的ATL/COM服务(EXE形式),该服务提供了一个方法及一个事件。
现使用delphi来调用该服务,方法就已经可以正常使用了,但是不知道怎样响应事件。使用VB及VC的调用都已经可以正常使用该服务的方法及事件了,但本人初学delphi,还不知道怎样响应事件,请各高手指点,最好可以提供代码,谢谢。服务提供的方法及事件如下(VC中的定义):
方法:
SetData(LONG iData);事件:
ReceiveData(LONG iData);

解决方案 »

  1.   

    我的e-mail是[email protected],欢迎与我交流经验,谢谢。
      

  2.   

    MSN:[email protected]
    欢迎交流
      

  3.   

    如果 COM Server 可以被 Delphi 自动封装就很简单:
     Component | Import ActiveX Control ... |选择 或 Add | Install ...

     Project | Import Type Libray ...|选择 或 Add | Install ...
    然后
      当普通控件用,直接挂接事件。如果不能:
     VB及VC都可以接入事件,那应该是个连接点。
     1. 实现这个连接点所关联的回调接口;
     2. 获得 COM Server 实例;
      3. 通过 QueryInterface(IConnectionPointContainer) 获得连接容器,然后挂接实例(回调接口的实例) ComObj 单元中有 InterfaceConnect/InterfaceDisconnect 来完成上述 3 过程。
      

  4.   

    已经做好了,就是使用delphi的import type library的add/install功能,直接就可以响应事件了。
    不过也谢谢Leonardo263090(牛呆呆)的回复。