非常奇怪的情况,用MIDAS开发三层程序时,客户端的Dcomconnection只能通过button的click事件将connected已设为false,是这样

  • 主题发起人 chen___ye
  • 开始时间
C

chen___ye

Unregistered / Unconfirmed
GUEST, unregistred user!
非常奇怪的情况,用MIDAS开发三层程序时,客户端的Dcomconnection只能通过button的click事件将connected已设为false,是这样的么? (100分)<br />MIDAS开发三层程序时,客户端Dcomconnection的connected已设为false,然后如何断开应用服务程序?
 
这不是已经断开了嘛
 
问题是这样的,客户端Dcomconnection的connected已设为false,然后断开应用服务程序,在服务器出现如下
对话框
there are still active com objects in this application.one or more clients may have
references to these objects,so manually closing this application may cause those
client application(s) to fail.
are you sure you want to close this application?
我怎样不出现次对话框呢?
 
dcomconnection--connected---false
 
要看你的应用服务器怎么写了,有的应用服务器写法是对象使用后不释放,等待下次使用,这就是
Object Pooling了,Demo/midal/pooler中的就是一个典型的例子。
 
dcomconnection的connected设为false
写错了,对不起
这样不行呀
 
我有调试了一下,发现了个奇怪的现象,我用button中的click事件让Dcomconnection的connected已设为false
然后断开应用服务程序,在服务器可正常关闭,没出现对话框
但我用udp协议向客户端发出命令让客户端Dcomconnection的connected设为false,
再在客户端祥服务器发出关闭服务程序命令时,就出现了开始的情况,这是怎么回事?
 
娘的,我自己搞定了,我开始还考虑到了给Dcomconnection的connected设为false
一定的时间,我给了sleep(10)但还少,刚才我改到了sleep(500)就好了,能自动断开了
哈哈,真他娘的,计算机都这么慢!真令我失望!各位虽然没答对,但我很感谢各位看重,都给分
 
to chen__ye:
早说你的上下文嘛,你加一个Application.Processmessage也是可以的,不用Sleep.
 
顶部