Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Интернет и сети
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 17.05.2012, 18:26
ffjeroifjeo ffjeroifjeo вне форума
Прохожий
 
Регистрация: 01.09.2011
Сообщения: 22
Репутация: 10
По умолчанию TWebBrowser сохранение HTML, странное поведение

Код:
Код:
// возвращает код HTML
function TForm1.GetHTMLCode(WebBrowser: TWebBrowser): String;
 var
   ps: IPersistStreamInit;
   not13, ss: TStringStream;
   sa: IStream;
   ssUTF8, s: string;
   Res: Boolean;
 begin
   ps := WebBrowser.Document as IPersistStreamInit;
   s := '';
   ss := TStringStream.Create(s);
   try
     sa := TStreamAdapter.Create(ss, soReference) as IStream;
     Res := Succeeded(ps.Save(sa, True));

     if Res then
       Result := ss.DataString;
       
   finally
     ss.Free;
   end;
 end;

// обработчик OnDocumentComplete
procedure TForm1.WebBrowser1DocumentComplete(ASender: TObject;
  const pDisp: IDispatch; var URL: OleVariant);
begin

...
    Memo1.Text := '';
    Content := GetHTMLCode(WebBrowser1);
    Memo1.Text := Content;
...
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  WebBrowser1.Navigate('rambler.ru');
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
    WebBrowser1.Navigate('http://love.rambler.ru/partner/link.phtml?pid=482400&lid=8206');
end;

если последовательно нажимать на кнопки сначала WebBrowser1.Navigate('rambler.ru');, потом WebBrowser1.Navigate('http://love.rambler.ru/partner/link.phtml?pid=482400&lid=8206');
то функция GetHTMLCode нормально возвращает HTML контент.
Если кнопкой загрузить WebBrowser1.Navigate('rambler.ru');, а потом в самом WebBrowser нажать на ссылку "http://love.rambler.ru/partner/link.phtml?pid=482400&lid=8206", то возвращается переменная Content пустая, причём Res := Succeeded(ps.Save(sa, True));, Res возвращается False,
должно быть True.

Получается что когда один раз грузишь через Navigate, то нормально, а когда после этого в самом браузере нажимаешь ссылку Content пустой.

Во вложенном файле проект.
Инструменты: WinXP + Delphi 2007
Вложения
Тип файла: rar Project.rar (221.4 Кбайт, 3 просмотров)
Ответить с цитированием
 


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 03:06.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025