WinHttp.WinHttpRequest.send 显示运行时错误弹出窗口

WinHttp.WinHttpRequest.send displays runtime error popup

提问人:Petter Hesselberg 提问时间:11/8/2023 最后编辑:Petter Hesselberg 更新时间:11/8/2023 访问量:54

问:

我正在使用 OLE 对象从 Inno Setup 安装程序的 PascalScript 部分进行一些联网。最小(简化但完整)重现:WinHttp.WinHttpRequest

function HttpGet(url: string): string;
var
  request: variant;
begin
  try
    request := CreateOleObject('WinHttp.WinHttpRequest.5.1');
    request.Open('GET', 'http://no.such.com/', false);

    request.Send(); { The problem spot }

    if request.Status = 200 then begin
      Log('Success');
      result := request.ResponseText;
    end else
      Log('Failure');
  except
    Log(GetExceptionMessage());
  end;
end;

快乐路径工作正常,200 以外的 HTTP 返回代码也是如此。但是,如果找不到服务器名称或地址,则调用会弹出以下内容:Send()

enter image description here

我希望自己处理错误,非常感谢您,并希望用户不要被该消息框打扰。

关于如何实现这一目标的任何提示?它甚至可以做到吗?

com inno-setup ole pascalscript winhttprequest

评论


答:

2赞 Martin Prikryl 11/8/2023 #1

这只是 IDE 中调试器的标准异常弹出窗口。我不知道可以禁用这些弹出窗口的设置。

无论如何,最终用户不会看到这一点。