服务器端如何断开DCOM的客户端连接?(50分)

  • 主题发起人 主题发起人 esgeht
  • 开始时间 开始时间
E

esgeht

Unregistered / Unconfirmed
GUEST, unregistred user!
我用DCOM做了一个server,在server端定义了几个过程
然后客户端安装服务器端提供的dcom生成的控件
客户端利用控件来调用server端过程
现在有个问题,在存在客户端连接的时候server关闭程序会报错
如果没有客户端与server连接了,这是关闭server不会出现任何错误
请问,有连接时,关闭server时怎样断开与客户端的连接?
 
这个不是错误,只是外进程服务器一个警告提示而已。
外进程服务器(EXE),在程序退出时,会检测一个存在于自己进程内的自动化服务器的实例数,
如果不等于0,就会弹一个警告信息,让用户有机会反悔他的操作而已。
如果你要关闭时不提示,可以这样做
uses ComServ
TForm1.Button1Click(Sender);
var ComServBack: TComServer;
begin
ComServBack :=ComServer;
ComServer := nil;
Application.Terminate;
ComServer := ComServBack;
end;
 
不是很明白
比如说,我创建了一个dcom的控件,叫做TVT
按照你的做法,难道是这样?
uses UntVT
TForm1.Button1Click(Sender);
var TmpVT: TVT;
begin
TmpVT:=VT;
//??这个VT是什么东西?从哪出来的?
VT := nil;
//这个VT也是,是什么?
Application.Terminate;
VT:= TmpVT;
//还有这里
end;

 
不用的,跟你创建的任何自动化对象无关,原样照写就可以了。
 
接受答案了.
 
后退
顶部