|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
22.05.2010, 11:14 | #1 |
Пользователь
Регистрация: 03.10.2007
Сообщений: 19
|
TWebBrowser, Просмотр кода, Access Violation
Сутки добрые, Уважаемые Знатоки!
Помогите с проблемой в 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 кнопки: сначала переход на страницу, и только потом отображение кода... А нужно всетаки все за один раз... Помогите? |
22.05.2010, 20:15 | #2 |
Старожил
Регистрация: 19.04.2010
Сообщений: 2,702
|
Тут всё просто - надо дождаться окончательной загрузки страницы. Вы пытаетесь получить код страницы, когда она ещё не загрузилась.
Исправляется просто: - поставте функцию GetHTMLSource на событие WebBrowser1DocumentComplete. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
сlass и Access violation | profor | Общие вопросы C/C++ | 2 | 05.04.2010 15:21 |
Access Violation | SunKnight | Общие вопросы Delphi | 2 | 05.06.2008 16:46 |
Access violation at address.. | RegentM | Общие вопросы Delphi | 4 | 01.11.2007 03:46 |
Access Violation | Carbon | Общие вопросы Delphi | 12 | 18.09.2007 19:55 |