Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Работа с сетью в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.09.2008, 22:18   #1
AXS
Программер
Пользователь Подтвердите свой е-майл
 
Аватар для AXS
 
Регистрация: 03.07.2008
Сообщений: 36
Вопрос WebBrowser - узнать об ошибке.

Как в TWebBrowser узнать что не удалось открыть страницу ("Невозможно отобразить страницу")? Не нашёл события вроде OnError...
Очень надо. Не высыпаюсь из за этого
<AXS> Если один из двух выходов - ловушка, надо найти третий... </AXS>
<AXS> "Живой" - явление временное... </AXS>

<><><> www.mak-ms.com <><><>
AXS вне форума Ответить с цитированием
Старый 10.09.2008, 08:17   #2
Alar
Александр
Администратор
 
Аватар для Alar
 
Регистрация: 28.10.2006
Сообщений: 17,501
По умолчанию

Во первых, страница с 404 ошибкой тоже страница.
Alar вне форума Ответить с цитированием
Старый 11.09.2008, 19:21   #3
AXS
Программер
Пользователь Подтвердите свой е-майл
 
Аватар для AXS
 
Регистрация: 03.07.2008
Сообщений: 36
По умолчанию

Цитата:
Сообщение от Alar Посмотреть сообщение
Во первых, страница с 404 ошибкой тоже страница.
Спасибо, просвятил... Однако я открываю http://www.programmersforum.ru а открывается страница с 404.... Вот этот момент и надо отследить.
Есть один способ
Код:
procedure TForm1.WebBrowser1TitleChange(Sender: TObject; const Text: WideString);
begin
 if ((text= 'Сервер не найден') or (text= 'Not Found')) then
  ShowMessage('404');
end;
Но это способ как говорится ... и не всегда работает... Поэтому и спрашиваю "Как это сделать?"
<AXS> Если один из двух выходов - ловушка, надо найти третий... </AXS>
<AXS> "Живой" - явление временное... </AXS>

<><><> www.mak-ms.com <><><>

Последний раз редактировалось Alar; 11.09.2008 в 19:44. Причина: цензура
AXS вне форума Ответить с цитированием
Старый 11.09.2008, 20:04   #4
Alar
Александр
Администратор
 
Аватар для Alar
 
Регистрация: 28.10.2006
Сообщений: 17,501
По умолчанию

Значит делай так.
Код:
idhttp1.timeout:=30000 //30 секунд
memo1.clear;
memo1.Text:=idhttp1.get('http://www.programmersforum.ru');

если страница по http протоколу не ответит. то в memo1.Text будет равен ''

Если 404 страница, то нужно либо юрл проверять на наличие 404, либо весь текст мониторить на наличие такого текста в цикле.

http://delphibasics.ru/AnsiContainsStr.php
Цитата:
Функция AnsiContainsStr ищет строку Needle в строке Haystack, возвращая истину, если таковая есть. Иначе возвращается ложь.
Alar вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
WebBrowser как узнать что страница полностью догрузилась Comer_Jus Работа с сетью в Delphi 6 01.07.2011 09:46
Перехватить сообщение об ошибке Insainer Общие вопросы Delphi 5 25.04.2008 20:39
Перхват сообщения об ошибке!!!! chekanoff Общие вопросы Delphi 4 10.12.2007 10:14
Как узнать загрузилась ли страница в webbrowser? Pedro Работа с сетью в Delphi 5 22.08.2007 22:00