!!!!!关于COM+ Event!!!!! (100分)

  • 主题发起人 powersite
  • 开始时间
P

powersite

Unregistered / Unconfirmed
GUEST, unregistred user!
使用COM时,如果调用方调用COM的方法,可以得到有关信息,COM处于被动方。
但如果COM要主动向客户端发信息,查阅了很多资料,主要有三种方式,第一种是通过COM回调函数方式,
如果采用automation的话,可以用第二种Event Sinks方式,主要都是用了客户所提供接口的原理,
而在COM+中,又有第三种COM+ EVENT方式,在DELPHI中也有DEMO程序讲到此种方法,
不知道我理解的对不对,首先建立一个Event提供了接口雏形,而并不去具体实现,注册到COM+中,
然后再建立一个订阅者COM+,具体实现当各事件触发时的相对应的处理方法,也是注册到COM+,并与EVENT
相结合,至于发布者(publisher),则只须在应用程序中建立COM调用,以触发发布事件,
问题是,如此情况下,是由COM形式的Subscriptor具体去接应发生的相应事件,如何去将该事件交由真正的
客户应用程序界面去处理,难到还要用以前所用的第一、二种方式吗?
多谢多谢指点!
 
com+事件订阅者只能以dll的形式存在,客户端要想得到服务端publisher过来的东西,
只能在该activex dll中添加导出函数,在你客户端另外的应用程序可以通过
loadlibray动态加载该dll,然后直接调用dll的导出函数就可以了】
(导出函数参数定义方式可以通过传入var类型的变量,或者传入回调函数指针)
 
TO:delphi浪客
那就是说,该DLL一方面作为COM+形式注册,在客户端程序使用时,再还要加载DLL,然后再通过回调函数通知客户端程序?
能不能说得再详细一些?谢谢!
 
好復雜啊!
automation形式的dll要注冊!如用在asp中!
普通的dll是不用注冊的!
加载最好用動態方式!
TO:powersite
我想你能不能把問題說得更簡單一點!
因為你上面的我看得頭大啊^_^,別打!我是說實話
 
TO:ljy_17
呵呵,可能我说得不够言简意赅吧,[:D]是这样的,就是在COM+EVENT中服务端怎样去通知客户事件?我想其实现应该比automation要简洁吧?
 
接受答案了.
 
顶部