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

Вниз

Прервать соединение   Найти похожие ветки 

 
v eb   (2006-05-25 15:45) [0]

Здравствуйте.
Подскажите, что сделать чтоб по нажатию кнопки прервалась работы функции IdHTTP.Get. Т.е. если медленное соединение, а страница большая, то надо предоставить пользователю возможность прервать загрузку. Как это сделать?


 
Сергей М. ©   (2006-05-25 15:46) [1]

Закрыть гнездо из другого треда


 
veb   (2006-05-25 15:57) [2]

Сергей, не понял сленг? имется виду разбиение на потоки?
Пожалуйста, можно пример кода.
у меня сделано так
 Memo1.Text := IdHTTP.Get("http://...");
и все было бы хорошо если б я мог прервать загрузку.


 
Kolan ©   (2006-05-25 16:05) [3]

Я ни разу не работал с интернетом итд. Но видимо смысл такой.
Как всегда тяжёлые вычисления, копирование, а в вашем случае загрузка выносятся в отдельный поток(TThread). А прерывается все это дело из главного по команде пользователя.

PS
 Попытался интерпритировать [1]. Могу ошибаться :)


 
Сергей М. ©   (2006-05-25 16:47) [4]


> veb   (25.05.06 15:57) [2]


в Indy9:

CloseSocket(IdHTTP.Socket.Binding.Handle)

Эта строка, вызванная в доп.потоке, приведет к прерыванию выполнения метода Get() в потоке, вызвавшем это самый IdHTTP.Get().. При этом будет возбуждено исключение, перехватываемое и обрабатываемое в блоке try..except


 
veb   (2006-05-25 16:59) [5]

Сергей, спасибо!
Еще не попрбовал, но в целом понятно.



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

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

Наверх




Память: 0.47 MB
Время: 0.025 c
2-1148359093
cherman
2006-05-23 08:38
2006.06.11
Задача


2-1148674496
ZV
2006-05-27 00:14
2006.06.11
SOUND


15-1148063972
стыдно
2006-05-19 22:39
2006.06.11
40 мин. не мог посчитать =)


2-1148566518
cardexc
2006-05-25 18:15
2006.06.11
Исключительная ситуация


2-1148270925
Roman_ln
2006-05-22 08:08
2006.06.11
Вставить таблицу 9х2 в форму?