写一个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