Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.08.27;
Скачать: CL | DM;

Вниз

Indy Как избавиться от зависаний при закачке?   Найти похожие ветки 

 
Component TIdNNTP   (2005-12-02 06:22) [0]

Компонент TIdNNTP. ( Хотя наверное в других всё тоже самое. ) Даю команду IdNNTP1.GetBody, и получаю зависон, пока это Бади не скачается.

Как от этого избавиться? Я хочу, чтобы никаких зависаний небыло. Типа я запустил скачку, а когда скачается, чтобы сгенерировалось событие. Так можно сделать?


 
Digitman ©   (2005-12-02 08:28) [1]

самое простое решение - брось на форму TIdAntifreeze, он для того и предназначен, чтобы у тебя не было "зависонов"


 
Ботвин Дмитрий   (2005-12-02 16:04) [2]

А самое правильное выность блокирующие функции в отдельный кодовый поток :-)))


 
Digitman ©   (2005-12-02 16:09) [3]


> Ботвин Дмитрий   (02.12.05 16:04) [2]


вполне логичное, но вовсе не в каждом случае оправданное решение


 
Ботвин Дмитрий   (2005-12-02 16:21) [4]

Digitman ©   (02.12.05 16:09) [3]

Да я знаю, я этот подход навсякий случай предложил, вдруг ему пригодится когда-нибудь. Это ведь только у инди есть такой хитрый компонент :-)))


 
Component TIdNNTP   (2005-12-03 02:55) [5]


> Ботвин Дмитрий   (02.12.05 16:21) [4]
>
> Digitman ©   (02.12.05 16:09) [3]
>
> Да я знаю, я этот подход навсякий случай предложил, вдруг
> ему пригодится когда-нибудь. Это ведь только у инди есть
> такой хитрый компонент :-)))


А какие можно посоветовать альтернатинвые для Ньюсгрупп?

Кстати скачал новую верси Indy, и не пойму как поставить. Ведь Indy - это часть Delphi 7.

Ещё я читал статью про компонент TNMNNTP, но не нашёл где его скачать. И даже вроде бы он от старых Дельфий каких-то, но это я не уверен.


 
Component TIdNNTP   (2005-12-04 03:06) [6]

Короче никто ничего не знает здесь?
И гугль только сюда ссылку выдаёт. Ни примеров по этому компоненту, ничего, блин.


 
Component TIdNNTP   (2006-01-16 06:22) [7]

Поможите, а?


 
Вектор   (2006-04-02 06:14) [8]

Аналогичный вопрос ...


 
Eraser ©   (2006-04-02 22:03) [9]


> Component TIdNNTP   (03.12.05 02:55) [5]


> Кстати скачал новую верси Indy, и не пойму как поставить.
>  Ведь Indy - это часть Delphi 7.

Когда установлено - да, но никто не мешает полностью удалить старую версию и установить новую.

> Вектор   (02.04.06 06:14) [8]

про NM компоненты забудь - они глучные, советую Indy использовать.

> Indy Как избавиться от зависаний при закачке?

выполнять код в доп. потоке.


 
Вектор   (2006-04-07 04:41) [10]

> выполнять код в доп. потоке.
Он и так в потоке. Поток не завершается, пока всё не скачает.


 
Сергей М. ©   (2006-04-07 09:00) [11]


> Поток не завершается, пока всё не скачает


Из другого потока закрой хэндл гнезда, которое создано компонентом TIdNNTP.

Тогда блокирующий метод GetBody() завершится с исключением, которое можно обработать в try..except-блоке и корректно завершить работу поточной ф-ции.



Страницы: 1 вся ветка

Текущий архив: 2006.08.27;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.03 c
15-1153994520
@!!ex
2006-07-27 14:02
2006.08.27
Слушаем ICQ


2-1154588805
TRyaSS
2006-08-03 11:06
2006.08.27
Как найти все файлы на компьютере(например *.bmp)


1-1152890975
lookin
2006-07-14 19:29
2006.08.27
Чтение/запись сведений в ini-файл через компонент


8-1140489918
Ozone
2006-02-21 05:45
2006.08.27
DxShow+Capturing=problems


1-1153251715
Gloomer
2006-07-18 23:41
2006.08.27
Как перекодировать строку из UTF-8 в ANSI?