Главная страница
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.24 c
15-1338429114
Думкин
2012-05-31 05:51
2013.03.22
Жизнь


1-1305191148
sniknik
2011-05-12 13:05
2013.03.22
1С8 вызов функции по имени...


15-1335608712
Труп Васи Доброго
2012-04-28 14:25
2013.03.22
Телефоноудлинитель


15-1341774208
Invoker
2012-07-08 23:03
2013.03.22
Отобразить все поля структуры.


8-1227539352
sh1k4r1
2008-11-24 18:09
2013.03.22
Подкинули задачку