K kusanagi Unregistered / Unconfirmed GUEST, unregistred user! 2001-04-10 #1 即怎么发布Com对象的事件,并利用其他对象的函数处理来处理这个函数。 请详细说明。
K kusanagi Unregistered / Unconfirmed GUEST, unregistred user! 2001-04-10 #4 其实调用消息处理过程的还是发布消息的那个对象。 归根结底,即Com对象怎么获得客户端的方法。
B boyman Unregistered / Unconfirmed GUEST, unregistred user! 2001-04-12 #6 其实,客付端和服务器端是相对应的,提供服务的为服务段,应用服务的为客付端, 你的意思是两端可以相互调用,其实每一端,同时为服务器,又为客户端,这样理解 的话,对于你的问题应该能够解决的
H hopfield Unregistered / Unconfirmed GUEST, unregistred user! 2001-04-12 #7 其实有个简单的办法,Com可以去调客户提供的Dll,你的Com可以定义一个属性,让客户端用 于设置Dll的路径及文件名,只要Dll中包含你规定好的接口函数,就没问题了.
K kusanagi Unregistered / Unconfirmed GUEST, unregistred user! 2001-04-12 #8 To boyman: 你说的方法看似可行,不过需要自己做一个协调对象,以决定何时并如何调用客户端的方法。 其实消息处理机制做的也就这工作。我之所以要利用消息机制,不是懒吗? To hopfield I 服了 U 不过从原理上来说,也就这么回事。
To boyman: 你说的方法看似可行,不过需要自己做一个协调对象,以决定何时并如何调用客户端的方法。 其实消息处理机制做的也就这工作。我之所以要利用消息机制,不是懒吗? To hopfield I 服了 U 不过从原理上来说,也就这么回事。
X xiaoyebing Unregistered / Unconfirmed GUEST, unregistred user! 2001-04-12 #9 我觉得真正做到远端对象访问透明应该要考虑对象的无状态性吧!这样才可以充分使用 Pooling技术(数据库Pooling、线程Pooling、资源Pooling),同时也是为了系统良好的 延展性,比如使用状态对象最大同时可以服务100个COM对象(MTS缺省生成100个STM), 但实际上可能只能有10个用户,因为COM对象可能要引用其他的对象。 在客户端相应该事件可以通过Interface来实现其功能,而Interface可通过一组PME(属性、 方法、事件)来实现,在客户端首先生成类别对象,取得接口,然后调用接口中的方法。
我觉得真正做到远端对象访问透明应该要考虑对象的无状态性吧!这样才可以充分使用 Pooling技术(数据库Pooling、线程Pooling、资源Pooling),同时也是为了系统良好的 延展性,比如使用状态对象最大同时可以服务100个COM对象(MTS缺省生成100个STM), 但实际上可能只能有10个用户,因为COM对象可能要引用其他的对象。 在客户端相应该事件可以通过Interface来实现其功能,而Interface可通过一组PME(属性、 方法、事件)来实现,在客户端首先生成类别对象,取得接口,然后调用接口中的方法。
B boyman Unregistered / Unconfirmed GUEST, unregistred user! 2001-04-13 #10 to hopfield com调用客户端dll,how? rpc?其实dcom的技术就隐藏调rpc
H hopfield Unregistered / Unconfirmed GUEST, unregistred user! 2001-04-13 #11 to boyman: com里面调用Dll,没什么特别的,和一般的Exe一样调用,只不过用我前面讲到的方法, 必须用显式的调用罢了. 当然,如果调用方和服务端不在一台机子上(Dcom),那么dll要 和服务端放在一台机子上. 其实如果在不同机子上,那就让Com和客户端做个Socket通讯好了. 我说的这两种办法 在高手眼中可能都比较苯,不过我在Com中都实现过,肯定是可以用的. 我还在考虑用另外一种办法: 回调函数, 不过我没试过,不知道行不行. 如果有谁试过 ,请赐教.
to boyman: com里面调用Dll,没什么特别的,和一般的Exe一样调用,只不过用我前面讲到的方法, 必须用显式的调用罢了. 当然,如果调用方和服务端不在一台机子上(Dcom),那么dll要 和服务端放在一台机子上. 其实如果在不同机子上,那就让Com和客户端做个Socket通讯好了. 我说的这两种办法 在高手眼中可能都比较苯,不过我在Com中都实现过,肯定是可以用的. 我还在考虑用另外一种办法: 回调函数, 不过我没试过,不知道行不行. 如果有谁试过 ,请赐教.
K kusanagi Unregistered / Unconfirmed GUEST, unregistred user! 2001-04-13 #12 回调函数只可以调用本地的函数,如果Com真的做到了调用远端的对象和本地对象 一样的话,应该是可以的。 不过现在我决定用midas了。 两位要是还有兴趣的话,大家还是可以继续讨论啊。
W wjiachun Unregistered / Unconfirmed GUEST, unregistred user! 2001-09-11 #13 http://211.101.4.25/delphibbs/rules.asp