是否可以暂时禁用向用户显示的异常对话

时间:2016-05-08 17:32:42

标签: sockets delphi indy

我使用IDStack的GStack.ResolveHost从主机名获取IP地址, 所以我可以ping IP地址&检查我有一个连接,然后做更多涉及的任务,如获取互联网时间或连接到邮件主机。 因此,我尝试以一种能够应对连接丢失而不会向用户抛出错误消息的方式对其进行编码。接下来的部分IcmpSendEcho可以毫无关联地处理,这是获取我不满意的IP地址的一部分。

即使使用try/except,错误对话框仍会在运行时,IDE或.exe中显示给用户。
鉴于我无法以编程方式防范诸如网络故障之类的事情,因此有一种方法可以禁用“主机错误,未找到套接字”#39;正在向用户显示(并且可能在屏幕上填写无人参与程序的对话框)? 还是我在错误的树上吠叫? 我尝试了{$WARNINGS OFF} {$WARNINGS ON},但他们不适用于“主机错误 - 未找到套接字”'
我担心有人会说我使用内置的Indy方法犯了一个错误&我应该使用Jedi代码库..?

function TInternetTools.HostNameToIPAddr(const AHostName:String; var AIPAddress :string): Boolean;  
begin
  TIdStack.IncUsage;                        
  try
    AIPAddress := GStack.ResolveHost(AHostName);  
    Result := true;
  except
    Result := false;
  end;
  TIdStack.DecUsage;
end;

0 个答案:

没有答案