Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2013.03.22;
Скачать: CL | DM;

Вниз

Странное поведение Navigate в TwebBrowser   Найти похожие ветки 

 
Fr   (2012-04-08 22:02) [0]

на форме в приложении лежит TwebBrowser. В определенный момент по условию запускается
WB.Navigate("about:<html><style>"+
"h1{font-family:arial;color:blue;font-size:8pt;text-align:center;}"body{font-family:arial;font-size:8pt;text-align:left;}</style><body></body></html>");

И вот тут начинается самое интересное. Код нормально срабатывает только при значениях font-size:8pt
При попытке изменить его на 10,12,14... запускается IE (причем он не установлен в системе по-умолчанию) во время обработки этого Nvigate.

В чем может быть проблема?


 
Fr   (2012-04-08 22:04) [1]

Неправильно скопировал код из приложения. Вот то. что там:
WB.Navigate("about:<html><style>h1{font-family:arial;color:blue;font-size:8pt;text-align:center;}body{font-family:arial;font-size:8pt;text-align:left;}</style><body></body></html>");


 
sniknik ©   (2012-04-08 22:22) [2]

новое приложение, с 1 WebBrowser и 1 кнопкой (сойдет за "условие"?). проблемы не получается. что значит она в другом месте.


 
sniknik ©   (2012-04-08 22:24) [3]

хотя, это не мешает html в примере быть с ошибками.


 
sniknik ©   (2012-04-08 22:33) [4]

p.s. как то уже сталкивался, при более менее большом коде "about" не работает... поэтому делал так -

 procedure WBLoadHTML(WebBrowser: TWebBrowser; const HTMLCode: string);
 var
   ms: TStringStream;
 begin
  WebBrowser.Navigate("about:blank");
  while WebBrowser.ReadyState < READYSTATE_INTERACTIVE do begin
    Application.ProcessMessages;
    Sleep(0);
  end;

  if Assigned(WebBrowser.Document) then begin
    ms:= TStringStream.Create(HTMLCode);
    try
      (WebBrowser.Document as IPersistStreamInit).Load(TStreamAdapter.Create(ms));
    finally
      ms.Free;
    end;
  end;
 end;


 
Fr   (2012-04-08 22:34) [5]


> хотя, это не мешает html в примере быть с ошибками.

подстановка в код <head>....</head> ничего не меняет. Все-равно вываливается IE. Если не трудно - укажите ошибку в этом html коде.


> новое приложение, с 1 WebBrowser и 1 кнопкой (сойдет за
> "условие"?). проблемы не получается. что значит она в другом
> месте.

Чистое приложение c WB и кнопкой проходит на ура.
Здесь же все то же самое, но вываливается IE именно на обработке Navigate.


 
sniknik ©   (2012-04-08 22:40) [6]

> Чистое приложение c WB и кнопкой проходит на ура.
значит тут ошибки нет...

> но вываливается IE именно на обработке Navigate.
> что значит она в другом месте.
в месте вызова например, вдруг оно в потоке... + без инициализации COM.


 
Fr   (2012-04-08 22:46) [7]


> sniknik ©

Спасибо, разобрался....


 
sniknik ©   (2012-04-08 23:15) [8]

ИИИИ????

p.s. слов нет, один мат остался... нафига мне твое спасибо, без описания причины? чувство, как читать детектив с последней страницей которого в туалет сходили.


 
Cobalt ©   (2012-04-09 11:06) [9]

подозреваю, что ТС переместил загрузку кода из Navigate в Load


 
Fr   (2012-04-09 16:00) [10]


> sniknik ©   (08.04.12 23:15) [8]

Виноват я сам - не просмотрел код в BeforeNavigate2.... Сорри.



Страницы: 1 вся ветка

Текущий архив: 2013.03.22;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.051 c
15-1344957186
Рекрут
2012-08-14 19:13
2013.03.22
Безопасность Веб-Мани


2-1347106775
Jimmy
2012-09-08 16:19
2013.03.22
Многоязыковое приложение


2-1338107276
rikitiki2012
2012-05-27 12:27
2013.03.22
Автоматически прерывает выполнение (BreakPoint в настройках )


15-1335682929
Валера
2012-04-29 11:02
2013.03.22
Почему не работает TTrackBar.OnExit?


15-1342466570
MsGuns
2012-07-16 23:22
2013.03.22
Умер Джон Лорд