2013-11-12 3 views
1

Я разрабатываю приложение iOS с использованием Delphi XE5 FireMonkey (с обновлением 1).Ошибка Delphi TWebBrowser

Я загружаю 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 не работает, и DidFailLoadWithError не позволяет найти ошибку. См: http://qc.embarcadero.com/wc/qcmain.aspx?d=115652 для получения информации о DidFailLoadWithError «ошибка»

Любые предложения относительно того, как я могу определить ошибку, которая возвращается?

ответ

1

Вам нужно будет сделать копию исходного каталога FMX, добавить этот каталог в свой путь поиска и внести некоторые изменения в пару файлов.

Когда вы строите свой проект, он перекомпилит все эти FMX-устройства, которые вы скопировали/настроили. Вы можете уйти с копированием только того, который вы модифицируете, и, может быть, еще пару через пробную версию и ошибку, что сделает первоначальную сборку более быстрой.

В методе FMX.WebBrowser.iOS процедура TiOSWebViewDelegate.webView(), возьмите параметр ошибки и делать то, что нужно, чтобы получить строку ошибки из нее, которая в основном сводится к вызову метода localizedDescription, и передать его на призыв NSLog , Documentation is here.

Затем вы можете прочитать сообщение об ошибке в журнале, либо в Console.app в OS X, либо с помощью симулятора iOS, либо в разделе Console для вашего устройства в окне Organizer Xcode, если используется фактическое устройство iOS.

+0

Спасибо, мне удалось найти обход для моей проблемы, но использование вашего предложения выше, скорее всего, необходимо, пока Embarcadero не выпустит исправление ошибки – Brendan

Смежные вопросы