如题!

解决方案 »

  1.   

    就是COM组件的事件,组件标准一般都支持属性,方法和事件。com组件的事件就是通过连接点实现的
      

  2.   

    太复杂,还是看书自己理解最好!
    =============================COM事件运作的基本原理:1、一个服务器至少要生成一个IConnectionPointContainer和一个IConnectionPoint的实例。
    2、一个服务器可以输出多个IConnectionPoint的实例。
    3、一个IConnectionPoint实例必须和一个相应的接口(称为事件接收器接口,以下同)相
       关联,事件接收器接口通常在服务器方定义,在客户方实现。
    3、每一个IConnectionPoint实例可以同时拥有多个客户连接。客户方工作流程如下:1、在客户方调用CoCreateInstance函数建立服务器(也就是COM组件)的实例。
    2、调用服务器的接口函数QueryInterface来查询IConnectionPointContainer接口的实例。
    3、得到IConnectionPointContainer的实例后,再调用这个实例的接口函数QueryInterface
       来查询和事件接收器接口相关联的IConnectionPoint实例。如果服务器已经生成跟事件
       接收器接口相关联的IConnectinPoint实例,则服务器返回这个实例的指针。
    4、得到IConnectionPoint的实例后,调用它的函数Advise把自己的实例指针传递到这个函
       数的参数里边,表明有一个客户方连接到那个IConnectionPoint实例。当然,客户方的
       这个实例必须实现了那个事件接收器接口。服务器方工作流程:1、初始化COM组件时建立IConnectionPointContainer和IConnectionPoint的实例。
    2、在IConnectionPointContainer的方法FindConnectionPoint里边返回那个IConnectionPoint
       的实例指针。
    3、在IConnectionPoint的方法Advise里边检查传递进来的实例是否已经实现了和IConnectionPoint
       本身相关联的事件接收器接口,如果是,则把那个实例添加到IConnectionPoint的内部列
       表。这个内部列表必须由IConnectionPoint本身进行管理,如添加,删除项目等。
      

  3.   

    就是COM组件的事件,组件标准一般都支持属性,方法和事件。com组件的事件就是通过连接点实现的
    COM事件运作的基本原理:1、一个服务器至少要生成一个IConnectionPointContainer和一个IConnectionPoint的实例。
    2、一个服务器可以输出多个IConnectionPoint的实例。
    3、一个IConnectionPoint实例必须和一个相应的接口(称为事件接收器接口,以下同)相
       关联,事件接收器接口通常在服务器方定义,在客户方实现。
    3、每一个IConnectionPoint实例可以同时拥有多个客户连接。客户方工作流程如下:1、在客户方调用CoCreateInstance函数建立服务器(也就是COM组件)的实例。
    2、调用服务器的接口函数QueryInterface来查询IConnectionPointContainer接口的实例。
    3、得到IConnectionPointContainer的实例后,再调用这个实例的接口函数QueryInterface
       来查询和事件接收器接口相关联的IConnectionPoint实例。如果服务器已经生成跟事件
       接收器接口相关联的IConnectinPoint实例,则服务器返回这个实例的指针。
    4、得到IConnectionPoint的实例后,调用它的函数Advise把自己的实例指针传递到这个函
       数的参数里边,表明有一个客户方连接到那个IConnectionPoint实例。当然,客户方的
       这个实例必须实现了那个事件接收器接口。服务器方工作流程:1、初始化COM组件时建立IConnectionPointContainer和IConnectionPoint的实例。
    2、在IConnectionPointContainer的方法FindConnectionPoint里边返回那个IConnectionPoint
       的实例指针。
    3、在IConnectionPoint的方法Advise里边检查传递进来的实例是否已经实现了和IConnectionPoint
       本身相关联的事件接收器接口,如果是,则把那个实例添加到IConnectionPoint的内部列
       表。这个内部列表必须由IConnectionPoint本身进行管理,如添加,删除项目等。