При закачке файлов подвисает прога

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Rewizorr
Новичок
Новичок
 
Сообщения: 30
Зарегистрирован: 18.03.2007 (Вс) 5:04

При закачке файлов подвисает прога

Сообщение Rewizorr » 09.04.2011 (Сб) 21:30

Задача: узнать, изменился ли сайт. Для начала надо скачать страницу сайта (пользуюсь Call DownloadFile)и сверить с прошлой версией.
Проблема: В момент закачки страницы прога подвисает и тормозит комп. Таким образом, если поставить проверку сайта каждые десять секунд, то прога будет подвисать каждые десять секунд. Мне же хотелось, чтобы прога узнавала о том, что сайт обновился, как можно раньше. Однако, если она будет проверять сайт каждую секунду, то будет постоянно виснуть. По крайней мере при моих 512 мегабайт оперативки. Но даже подвисание каждые десять секунд, тоже может вызвать раздражение юзера.
Вопрос: Как сделать так, чтобы не висло? Возможно ли это? Очень хотелось бы, как можно раньше узнавать об обновлении сайта.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: При закачке файлов подвисает прога

Сообщение Хакер » 09.04.2011 (Сб) 22:58

Во-первых, нужно, медитируя, убрать из своей головы глупость.

Глупость заключается в использовании термина «зависает». Стоит только убрать этот дилетантский термин, как сразу становится ясно, что ничего не зависает, а просто окна не реагируют на оконные сообщения.

И отсюда куча решения: прерываться во время процесса скачивания самому и обрабатывать приходящие сообщения. Обрабатывать сообщения в другом потоке (но тогда и окно должно быть там же создано), обрабатывать процесс скачивания в другом потоке.

Вообще, конечно, скачивать и сравнивать — не самый лучший путь. Обязательно надо попробовать Last-Modified-Since и ETag.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: AhrefsBot и гости: 81

    TopList