Главная страница
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.102 c
15-1349641803
Юрий
2012-10-08 00:30
2013.03.22
С днем рождения ! 8 октября 2012 понедельник


1-1298972588
rxQ
2011-03-01 12:43
2013.03.22
Положение объекта в rxRichEdit


15-1333892049
xayam
2012-04-08 17:34
2013.03.22
mono ttf utf-8


10-1176745972
Neket
2007-04-16 21:52
2013.03.22
Быстрое заполнение Excel


4-1262526782
Дмитрий
2010-01-03 16:53
2013.03.22
Как изменить привилегии у процесса?