在哪个场合或如何在程序运行时检查互联网连接?场景:程序正在运行,突然互联网连接关闭,并打开一个对话框“无法访问互联网,将连接字符串更改为中央数据库”。我试过这个功能,但是我不确定我应该放在哪个事件中以便它一直有效。
function TFK_Lib.CheckInternet: boolean;
begin
ConnectedState := INTERNET_CONNECTION_MODEM;
Result := InternetGetConnectedState(@ConnectedState, 0);
end;
答案 0 :(得分:0)
您可以使用计时器检查(在某个时间段)连接并显示对话框(作为模态,因此您无法执行任何其他操作)。
答案 1 :(得分:-1)
您可以进行实际测试并ping google.com。 如果我理解你的问题,我认为这不是一个糟糕的选择。 代码示例:
class function TAuthUserFunctions.CheckInternet: boolean;
var
idtcp : TIdTCPClient;
begin
try
idtcp := TIdTCPClient.Create(Nil);
try
idtcp.ReadTimeout := 2000;
idtcp.ConnectTimeout := 2000;
idtcp.Port := 80;
idtcp.Host := 'google.com';
idtcp.Connect;
idtcp.Disconnect;
Result := True;
finally
idtcp.Free;
end;
except
Result := False;
end;
end;