COM组件通过import方式引入,其他调用操作都没有问题,就是不能使用该组件中的事件,请高手指教

解决方案 »

  1.   

    可以没有问题。只要通过标准的ConnectionPoint技术就行了。
      

  2.   

    如果你用ConnectionPoint技术,是不是编译完以后忘了实现连接点了!eg:
    点右键在你的接口的实现类上,然后点Implement Connection Point....,然后选中你的IXXX_Event就可以了!还有一种可能就是你的这些事件是在idl已经编译过一次后才加上去的,也会出现这种情况必须更新一次idl!!!
      

  3.   

    对外提供事件可以使用这种方法,但实现其他组件的事件也使用这种方法吗(如需要在ADO组件的连接事件中处理一些事情)?
    书上也没有讲清楚!
    能提供一些好的参考书吗?很多书真烂,只会让你依葫芦画瓢,越看越糊涂,郁闷ing...
      

  4.   

    实现其他组件的事件:就是连接点的思想!在COM组建里设计接口,由用户APP实现接口!
    参看:<ATL编程指南2>
      

  5.   

    关键是我调用其他组件是通过智能指针方式实现的,而如何通知组件我实现了它的一个事件呢?
    如通过_Connection 定义了一个ADO的连接对象,现在需要在该对象的连接事件中处理一些事情,如何来做呢?
      

  6.   

    加入ADO的支持:
    #import "E:\Program Files\Common Files\System\ADO\msado15.dll"  rename_namespace("ADO") rename("EOF", "EndOfFile")
    using namespace ADO;然后这么调用
    ConnectDB((_ConnectionPtr*)&m_pConnection,lpstrConnection);
      

  7.   

    标题     我的ATL/ADO编程的曲折经历    horris(原作)  
    关键字     ADO,MDAC,VC,#import,Smart Pointer 
    http://www.csdn.net/develop/article/14/14662.shtm有用就看!
      

  8.   

    有没有利用智能指针使用ADO中事件的代码啊?