|
5 / 5 / 0
Регистрация: 27.09.2015
Сообщений: 106
|
|
Как принудительно завершить поток скачивания08.12.2016, 14:28. Показов 2587. Ответов 16
Метки нет (Все метки)
Пишу утилиту по скачиванию файлов. Нужно, чтобы по нажатию кнопки Pause закачка прекращалась, без выхода из программы (часть с дозакачкой уже мной написана). Как принудительно завершить поток, созданный функцией CreateThread? На данный момент, я могу остановить процесс, но файл, находящийся в процессе скачивания, так и продолжает качаться до конца.
0
|
|
| 08.12.2016, 14:28 | |
|
Ответы с готовыми решениями:
16
Как правильно завершить поток Правильно завершить поток Завершить поток через 60 секунд |
|
5 / 5 / 0
Регистрация: 27.09.2015
Сообщений: 106
|
|
| 09.12.2016, 11:35 [ТС] | |
|
Дело в том, что для создания потока я использую функцию CreateThread, а не компонент TThread
0
|
|
|
5 / 5 / 0
Регистрация: 27.09.2015
Сообщений: 106
|
|
| 09.12.2016, 22:49 [ТС] | |
|
Поток создается так: Thread=CreateThread(NULL,0,ThreadFun,&Th readData, 0, 0);
Принудительно он завершается так: TerminateThread(Thread,0); Это приводит к зависанию программы. В принципе в хелпе и не советуют использовать данный способ из-за непредсказуемости поведения. Нужно что-то другое.
0
|
|
|
5 / 5 / 0
Регистрация: 27.09.2015
Сообщений: 106
|
||
| 10.12.2016, 10:15 [ТС] | ||
0
|
||
|
5 / 5 / 0
Регистрация: 27.09.2015
Сообщений: 106
|
||
| 10.12.2016, 11:27 [ТС] | ||
|
А можно ли как-то прервать работу функции get компонента IdHTTP?
Добавлено через 5 минут
0
|
||
|
|
|||||||||||
| 10.12.2016, 16:55 | |||||||||||
|
Нужно использовать TThread, прерывать в обработчике OnWork можно кидать исключение, можно делать IdHTTP1->Disconnect(); и опять же ловить исключение.
Использовать CreateThread не получится. Добавлено через 6 минут Если схематично то так:
0
|
|||||||||||
|
5 / 5 / 0
Регистрация: 27.09.2015
Сообщений: 106
|
|
| 10.12.2016, 19:17 [ТС] | |
|
Сработала идея с OnWork. В обработчике этого события поставил IdHTTP1->Disconnect(), пока вроде работает
Всем спасибо!
0
|
|
|
5 / 5 / 0
Регистрация: 27.09.2015
Сообщений: 106
|
|
| 11.12.2016, 17:35 [ТС] | |
|
Новая незадача. Напомню, поток у меня создается так: Thread=CreateThread(NULL,0,ThreadFun,&Th readData, 0, 0);
И я хочу обеспечить совместимость с Маком. Но оказывается функция CreateThread не идет под Мак, билдер на нее ругается. Куда копать?)
0
|
|
|
5 / 5 / 0
Регистрация: 27.09.2015
Сообщений: 106
|
|
| 11.12.2016, 17:49 [ТС] | |
|
0
|
|
|
|
|
| 11.12.2016, 17:51 | |
|
0
|
|
| 11.12.2016, 17:51 | |
|
Помогаю со студенческими работами здесь
17
Как в С++ Builder из 2х потоков рисовать на форме квадратики(это первый поток рисует) и кружочки (2ой поток))
Как завершить поток принудительно без смс и регистрации и гарантировать выполнение finally? Как принудительно завершить функцию recvfrom Как принудительно завершить консольную программу ? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование
. \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json>
Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом.
# Check if. . .
|
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так:
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347
Основана на STM32F303RBT6.
На борту пять. . .
|
Символьное дифференцирование
igorrr37 13.02.2026
/ *
Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет
значение производной при заданном х
Логарифм записывается как: (x-2)log(x^2+2) -. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|