|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
28.03.2011, 00:09 | #1 |
Александр
Администратор
Регистрация: 28.10.2006
Сообщений: 17,501
|
idhttp как узнать что страница скачана/загружена до конца?
Пробовал несколько способов. опираясь на эту тему
http://programmersforum.ru/showthread.php?t=133875 Сейчас получил вот такой код, но он не работает. есть идеи? цель - дождаться загрузки страницы, перед тем как перейти к загрузке следующей. Код:
Код:
|
28.03.2011, 01:27 | #2 |
Участник клуба
Регистрация: 19.01.2009
Сообщений: 1,453
|
может что то не так понял, но а пробовал try finally ?
|
28.03.2011, 01:57 | #3 |
Александр
Администратор
Регистрация: 28.10.2006
Сообщений: 17,501
|
а чем это поможет?
Сделал более визуально отслеживаемый вариант, на третей итерации спотыкается. на форме memo1 со списком юрлов без http кнопка и 3 label Ушёл спать. может за ночь что-нибудь придумаю или кто подскажет Код:
|
28.03.2011, 13:53 | #4 |
Старожил
Регистрация: 13.12.2006
Сообщений: 3,859
|
Ошибку в студию.
а вот так: Код:
application.ProcessMessages; лучше писать в IdHTTP1Work
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи |
28.03.2011, 14:04 | #5 |
Александр
Администратор
Регистрация: 28.10.2006
Сообщений: 17,501
|
Второй код вполне рабочий. Запустил приложение без Delphi - есть один сайт на котором проиходит зависание. этот сайт был просмотрен в браузере и был заметен редирект на www. Это исправимо
|
28.03.2011, 14:08 | #6 |
Старожил
Регистрация: 13.12.2006
Сообщений: 3,859
|
сама по- себе проверка:
form1.label1.caption<>form1.label2. caption не надежна, поэтому велика вероятность безконечного цикла. А не надежна она потому, что страница может отдать один content-length, а какой- нибудь быдлокодер сделает там подгрузку на js-е чего -нибудь куда- нибудь...
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи |
28.03.2011, 14:12 | #7 |
Александр
Администратор
Регистрация: 28.10.2006
Сообщений: 17,501
|
Действительно работает. Хотя этот вариант рассматривался прежде всего. в любом случае редирект надо обрабатывать на www. Подвисает аналогично моему варианту
|
28.03.2011, 18:16 | #8 |
Пользователь
Регистрация: 01.01.2011
Сообщений: 29
|
TIdHTTP работает синхронно... То есть пока файл не загрузится полностью управление не передаётся дальше... Это для какого-нибудь TWebBrowser'а нужно проверку делать "полностью ли загрузилось"...
Код:
Regards, GreyScall.
|
28.03.2011, 19:14 | #9 |
Александр
Администратор
Регистрация: 28.10.2006
Сообщений: 17,501
|
Если запускать не из среды. то при возникновения редиректа - программа зависает, но, теперь, поняв эту ошибку, я могу сделать обработчик редиректа.
|
29.03.2011, 13:38 | #10 | |
Старожил
Регистрация: 13.12.2006
Сообщений: 3,859
|
Цитата:
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
WebBrowser как узнать что страница полностью догрузилась | Comer_Jus | Работа с сетью в Delphi | 6 | 01.07.2011 09:46 |
как узнать что страница в WebBrowser загружена | designer999 | Работа с сетью в Delphi | 2 | 05.05.2010 21:12 |
Как узнать что пролистал до конца компонент RichEdit | SomlicH | Помощь студентам | 1 | 04.12.2009 22:23 |
Узнать какая страница загружена. | Port 111 | Работа с сетью в Delphi | 6 | 14.01.2009 22:26 |
Как узнать загрузилась ли страница в webbrowser? | Pedro | Работа с сетью в Delphi | 5 | 22.08.2007 22:00 |