【问题标题】:Delphi TWebBrowser errorDelphi TWebBrowser 错误
【发布时间】:2013-11-12 11:45:33
【问题描述】:

我正在使用 Delphi XE5 FireMonkey(带有更新 1)开发一个 iOS 应用

我下载 PDF 并将它们存储在本地,然后使用 TWebBroswer 查看它们。这在我第一次下载文档或查看已下载的 PDF 时始终有效。但是,如果我下载并查看第二个 PDF,TWebBrowser 不会加载该文件。

if FileExists(filename) then
begin
  WebBrowser1.Navigate('about:blank'); //clear page
  WebBrowser1.Navigate('file://' + filename);
  //filename points to a PDF on the local device and the file 
  //definitly exists

  //first run always works 100%, second run comes into this IF statement
  //but the DidFailLoadWithError is fired
end;

我正在尝试确定错误是什么。在 Navigate 周围放置一个 try...except 不起作用,并且 DidFailLoadWithError 不允许人们找到错误。 有关 DidFailLoadWithError '错误'的信息,请参阅:http://qc.embarcadero.com/wc/qcmain.aspx?d=115652

procedure Tform1.WebBrowser1DidFailLoadWithError(ASender: TObject);
begin
  //ASender is a TWebBrowser
  //No parameter with Error info!
end;

关于如何确定返回的错误有什么建议吗?

【问题讨论】:

    标签: ios delphi mobile delphi-xe5


    【解决方案1】:

    您需要制作 FMX 源目录的副本,将该目录添加到您的搜索路径,并对几个文件进行一些调整。

    当您下次构建项目时,它将重新编译您复制/调整的所有 FMX 单元。您可以只复制您修改的那些,也许可以通过反复试验再复制几个,这将使初始构建更快。

    在 FMX.WebBrowser.iOS 过程TiOSWebViewDelegate.webView() 方法中,获取错误参数并执行所需的操作以从中获取错误字符串,这基本上相当于调用localizedDescription 方法,并将其传递给致电NSLogDocumentation is here.

    然后您可以阅读日志中的错误消息,如果使用 iOS 模拟器,则可以在 OS X 上的 Console.app 中阅读,如果使用实际 iOS 设备,则可以在 Xcode 管理器窗口中您设备的控制台部分中阅读。

    【讨论】:

    • 谢谢,我已经设法找到解决我的问题的方法,但是在 Embarcadero 发布该错误的修复程序之前,很可能需要使用您上面的建议
    猜你喜欢
    • 2023-03-14
    • 1970-01-01
    • 1970-01-01
    • 2015-10-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多