如何再次连接COM接口?(300分)

  • 主题发起人 主题发起人 anna_zb
  • 开始时间 开始时间
A

anna_zb

Unregistered / Unconfirmed
GUEST, unregistred user!
一个全局COM接口,应用程序启动时连接成功,如果异常断线后如何重新激活该COM接口?
我在重新激活时系统报错,非要选择N才能激活成功,请问如何避免?
 
写一个ServerOk方法,返回true,每次调用方法、属性的前调用这个,
我就是这么做的:
Server: OLE服务器,下面的代码不能直接编译,只是为的说明我的思路。
function CheckConnected: Boolean;
begin
if not Server.Connected then
try
begin
Wait('正在连接到服务器...')
Server.Connected := True;
except
on E: Exceptiondo
...
end;
Result := Server.Connected;
end;

function CheckServerOk: Boolean;
begin
Result := CheckConnected;
if Result then
try
Result := Server.ServerOk;
//如果服务器已经停止运行,那就产生异常
except
Server.Connected := False;
Result := CheckConnected and Server.ServerOk;
//尝试重新连接一次,你可以改为尝试多次
end;

end;

每次调用的方法:
try
if CheckSeverOk then
Server.YourMethod or YourProp;
except
on E: Exception
如果还有异常,那就提示用户重试吧,加个循环也可以,再次调用CheckServerOk
end;

---------
http://www.8421.org
 

Similar threads

后退
顶部