FoxBase!
msgbartop
Блог Oracle разработчика
msgbarbottom
foxbase

22.04.2011 Как обновить TWebBrowser

При использовании TWebBrowser в своих проектах иногда требуется программно обновить данные текущей страницы. На первый взгляд это сделать просто, используя метод Refresh. Однако если текущая страница содержит формы с введенными пользователем или программно данными, то при выполнении метода Refresh мы получаем системное сообщение, которое показано в заголовке этой заметки. В результате мы получаем проблему в том случае, если нам это сообщение мешает программировать TWebBrowser.
Решение этой проблемы оказалось довольно простым, но не совсем очевидным. Информацию в Google по этому поводу найти не удалось применительно к Delphi, но такая информация отыскалась применительно к С#. Дело в том, что у TWebBrowser есть метод Refresh2, для которого можно задать необязательный параметр 

WebBrowserRefreshOption, который может принимать следующие значения (из кода на C#):
В нашем случае интересно значение Continue, его и необходимо использовать. В Delphi параметр для метода TWebBrowser.Refresh2 имеет тип OleVariant, поэтому поступаем таким образом:

  ...
  var Opt: OleVariant;
begin
  Opt:=2;
  Browser.Refresh2(Opt);
end;
В результате никаких системных сообщений при обновлении страницы мы не получаем.

www.foxbase.ru


Смотрите также:



Оставьте свой комментарий

Вы должны быть авторизированны, чтобы оставить комментарий.