Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2010.08.27;
Скачать: [xml.tar.bz2];

Вниз

TWebBrowser, Просмотр кода, Access Violation   Найти похожие ветки 

 
timekiller ©   (2010-05-22 11:24) [0]

Сутки добрые, Уважаемые Знатоки!

Помогите с проблемой в TWebBrowser, загрузкой страницы и просмотром кода:

procedure TForm1.SpeedButton1Click(Sender: TObject);
var //StartN,EndN:integer;
i:integer;
s:string;
begin
//идем на страницу
try //обезопасим
WebBrowser1.Navigate("http://www.google.com");
except
ShowMessage("немогу, вруби инет");
end;

//выводим текст исходного кода страницы
ShowMessage(GetHTMLSource(WebBrowse r1));

............ на этом месте выскакивает Access Violation

Функция GetHTMLSource(WebBrowser1):

PersistStream:=WB.Document as IPersistStreamInit;
MStream:=TMemoryStream.Create;
SL:=TStringList.Create;
try
Stream:=TStreamAdapter.Create(MStre am,soReference) as IStream;
GResult:=PersistStream.Save(Stream, True); //тут и выскакивает AV
if FAILED(GResult) then
MessageDlg("Ошибочка при передачи HTML source",mtError,[mbOk],0);
finally
MStream.Position:=0;
SL.LoadFromStream(MStream);
Result:=SL.Text;
MStream.Free;
SL.Free;
end;

Если функцию GetHTMLSource навесить на отдельную кнопку - все, соответственно, работает нормально... только нажимать надо на 2 кнопки: сначала переход на страницу, и только потом отображение кода... А нужно всетаки все за один раз... Помогите?
095 на форуме Добавить отзыв для 095 Пожаловаться на это сообщение    Редактировать/удалить сообщение


 
Плохиш ©   (2010-05-22 11:52) [1]

TWebBrowser.Busy
TWebBrowser.OnNavigateComplete2
TWebBrowser.OnDocumentComplete


 
timekiller ©   (2010-05-22 12:05) [2]

While WebBrowser1.Busy do Application.ProcessMessages;
 ShowMessage(GetHTMLSource(WebBrowser1));

йЕСССС ! Бинго! Спасибо огромное!



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

Форум: "Начинающим";
Текущий архив: 2010.08.27;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.44 MB
Время: 0.06 c
15-1275455248
ZeroDivide
2010-06-02 09:07
2010.08.27
Как работают подобные устройства?


4-1230942499
Fighter
2009-01-03 03:28
2010.08.27
Как получить серийный номер USB флешки (UniqueID)


15-1275668249
xayam
2010-06-04 20:17
2010.08.27
События в javascript


15-1266644305
TUser
2010-02-20 08:38
2010.08.27
А вы говорите Петрик


2-1271426478
davinchi
2010-04-16 18:01
2010.08.27
Как получить TEvent.WaitFor(<timeout>) с результатом wrError?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский