![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Indy Как избавиться от зависаний при закачке? [D7]
Component TIdNNTP © (2005-12-02 06:22:00)Компонент TIdNNTP. ( Хотя наверное в других всё тоже самое. ) Даю команду IdNNTP1.GetBody, и получаю зависон, пока это Бади не скачается.
Как от этого избавиться? Я хочу, чтобы никаких зависаний небыло. Типа я запустил скачку, а когда скачается, чтобы сгенерировалось событие. Так можно сделать?
Сергей М. (2006-04-07 09:00:00) [1]
> Поток не завершается, пока всё не скачает
Из другого потока закрой хэндл гнезда, которое создано компонентом TIdNNTP.
Тогда блокирующий метод GetBody() завершится с исключением, которое можно обработать в try..except-блоке и корректно завершить работу поточной ф-ции.
Вектор (2006-04-07 04:41:00) [2]> выполнять код в доп. потоке.
Он и так в потоке. Поток не завершается, пока всё не скачает.
Eraser (2006-04-02 22:03:00) [3]
> Component TIdNNTP (03.12.05 02:55) [5]
> Кстати скачал новую верси Indy, и не пойму как поставить.
> Ведь Indy - это часть Delphi 7.
Когда установлено - да, но никто не мешает полностью удалить старую версию и установить новую.
> Вектор (02.04.06 06:14) [8]
про NM компоненты забудь - они глучные, советую Indy использовать.
> Indy Как избавиться от зависаний при закачке?
выполнять код в доп. потоке.
Вектор (2006-04-02 06:14:00) [4]Аналогичный вопрос ...
Component TIdNNTP (2006-01-16 06:22:00) [5]Поможите, а?
Component TIdNNTP (2005-12-04 03:06:00) [6]Короче никто ничего не знает здесь?
И гугль только сюда ссылку выдаёт. Ни примеров по этому компоненту, ничего, блин.
Component TIdNNTP (2005-12-03 02:55:00) [7]
> Ботвин Дмитрий (02.12.05 16:21) [4]
>
> Digitman © (02.12.05 16:09) [3]
>
> Да я знаю, я этот подход навсякий случай предложил, вдруг
> ему пригодится когда-нибудь. Это ведь только у инди есть
> такой хитрый компонент :-)))
А какие можно посоветовать альтернатинвые для Ньюсгрупп?
Кстати скачал новую верси Indy, и не пойму как поставить. Ведь Indy - это часть Delphi 7.
Ещё я читал статью про компонент TNMNNTP, но не нашёл где его скачать. И даже вроде бы он от старых Дельфий каких-то, но это я не уверен.
Ботвин Дмитрий (2005-12-02 16:21:00) [8]Digitman © (02.12.05 16:09) [3]
Да я знаю, я этот подход навсякий случай предложил, вдруг ему пригодится когда-нибудь. Это ведь только у инди есть такой хитрый компонент :-)))
Digitman (2005-12-02 16:09:00) [9]
> Ботвин Дмитрий (02.12.05 16:04) [2]
вполне логичное, но вовсе не в каждом случае оправданное решение
Ботвин Дмитрий (2005-12-02 16:04:00) [10]А самое правильное выность блокирующие функции в отдельный кодовый поток :-)))
Digitman (2005-12-02 08:28:00) [11]самое простое решение - брось на форму TIdAntifreeze, он для того и предназначен, чтобы у тебя не было "зависонов"