连接点in com
---------------------------------------------------------- 【程序编程相关:讲稿3(缺陷-密度:解决方案)】 【推荐阅读:C#中为DataGrid添加下拉列表框】1.连接点是com中用来使组件与客户程序进行双向通信的手段. 【扩展信息:java 鼠标单击和双击的控制】 2.连接点的实现在com中也叫出接口的实现 3.出接口在组件中定义,但是在客户程序中实现,具体是在客户程序中 定义一个类,这个类从组件的出接口派生.连接点实现:
组件方:
1.照常规创建atl组件,插入简单atl对象,注意选中"support connection points" 2.按上面步骤生成了"_ixxxevents"接口,实际上就是我们要定义的出接口 3.在出接口中添加方法 4.在入接口中添加方法 5.修改.idl文件 <1>dispinterface _ixxxevents改成interface _ixxxevents : iunknown <2>去掉properties: 与methods:修饰符 <3>[default, source] dispinterface _ixxxevents该成[default, source] interface _ixxxevents6.build一下,产生需要的类型定义
7.右键单击组件类(cxxx),选择"implement connection point..",选中"_ixxxevents",ok 8.这时会产生一个代理类cproxy_ixxxevets,并且还有一个fire_yourmethod..., 这样,你就可以在组件中的入接口方法中调用该fire方法(就好象调用客户程序的方法样),实际上该方法封装了出接口 中定义的方法客户端:
1.拷贝serverprojectname.h 与 serverprojectname.tlb 文件到你的客户exe项目文件夹下,并且在类头文件中添加 ... 下一页