Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: -0.974 c
2-1148676060
Mr tray
2006-05-27 00:41
2006.06.11
определить, были ли вызваны reset или rewrite


2-1148730579
ZV
2006-05-27 15:49
2006.06.11
Сохранение данных


15-1147946804
Layner
2006-05-18 14:06
2006.06.11
Именование таблиц в 1С или как такое повторить у себя


2-1148309819
Мурзилка
2006-05-22 18:56
2006.06.11
копирование #0


8-1134483031
calmterror
2005-12-13 17:10
2006.06.11
Визуализация звука




   Наверх