我正在使用 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 不允许人们发现错误。 请参阅:http://qc.embarcadero.com/wc/qcmain.aspx?d=115652有关 DidFailLoadWithError 'bug' 的信息
procedure Tform1.WebBrowser1DidFailLoadWithError(ASender: TObject);
begin
//ASender is a TWebBrowser
//No parameter with Error info!
end;
关于如何确定返回的错误有什么建议吗?
最佳答案
您需要复制 FMX 源目录,将该目录添加到您的搜索路径并对几个文件进行一些调整。
当您下次构建项目时,它将重新编译您复制/调整的所有 FMX 单元。您可以只复制您修改的部分,也可以通过反复试验复制更多部分,这将使初始构建更快。
在 FMX.WebBrowser.iOS 过程 TiOSWebViewDelegate.webView()
方法中,获取错误参数并执行从中获取错误字符串所需的操作,这基本上相当于调用 localizedDescription
方法,并将其传递给对 NSLog
的调用。 Documentation is here .
然后您可以在日志中读取错误消息,如果使用 iOS 模拟器,则可以在 OS X 上的 Console.app 中读取,如果使用实际的 iOS 设备,则可以在 Xcode 管理器窗口中设备的控制台部分中读取。
关于ios - 德尔福 TWebBrowser 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19928281/