|
13 / 13 / 3
Регистрация: 02.08.2012
Сообщений: 128
|
||||||||||||||||
IdHTTP->Get в потоке и прогрессом29.08.2012, 17:39. Показов 9526. Ответов 45
Метки нет (Все метки)
Есть код:
Пример Event'ов для IdHTTP из формы
И пару вопросов по потокам:
0
|
||||||||||||||||
| 29.08.2012, 17:39 | |
|
Ответы с готовыми решениями:
45
Отправка вайла в потоке idhttp idhttp в потоке получает пустой txt файл |
|
|
|||||||
| 31.08.2012, 19:17 | |||||||
Если не ошибаюсь я просто блокировал кнопку пока чтоб ее нельзя было нажать повторно пока поток не завершится.
Добавлено через 2 минуты Определить состояние потока TThread
1
|
|||||||
|
13 / 13 / 3
Регистрация: 02.08.2012
Сообщений: 128
|
|||
| 31.08.2012, 19:53 [ТС] | |||
|
Вот Архангельский пишет:
0
|
|||
|
13 / 13 / 3
Регистрация: 02.08.2012
Сообщений: 128
|
||
| 31.08.2012, 20:27 [ТС] | ||
|
Если поток не обнуляет указатель даже когда сам завершается, значит мне это и не надо...полагаю
Добавлено через 26 секунд Добавлено через 11 минут Тащем-то прочитав 5 страниц, где вы пытались переспорить друг друга , я сделал вывод, что надо отказаться от FreeOnTerminate и делать удаление и обнуление самому, тогда if (Thread) будет работать. Верно?Добавлено через 11 минут Нет не верно, я какую-то чушь сказал...потому что я не узнаю когда мне надо удалить вручную. Добавлено через 6 минут Я же могу банально сделать глобальный флаг (bool dead), которому поток по завершении будет присваивать тру и если этот флаг=тру, то поток умер... вот и решение! Не согласны?
0
|
||
|
|
||
| 31.08.2012, 20:53 | ||
|
Нет...
Разве что синхронизировав её... Нужно ли синхронизировать доступ к переменной из двух потоков? Добавлено через 4 минуты
1
|
||
|
13 / 13 / 3
Регистрация: 02.08.2012
Сообщений: 128
|
||||||
| 31.08.2012, 21:30 [ТС] | ||||||
|
Даа, потоки оказались геморной темой
![]() В общем, спасибо, буду использовать пример "UI" в вашей переработке:
Но немного не понятно, когда он выдаст Terminated? Если будет TreminateThread без освобождения памяти?
0
|
||||||
|
|
|||
| 31.08.2012, 21:38 | |||
|
Ну TThread это лиш класс обвертка потока WinApi поэтому надо отталкиваться от сюда...
А вы собираетсь применять TerminateThread() ? -это грубый способ...
Добавлено через 2 минуты
0
|
|||
|
13 / 13 / 3
Регистрация: 02.08.2012
Сообщений: 128
|
||||||
| 31.08.2012, 21:40 [ТС] | ||||||
|
Кстати, я сделал MyThread->Terminate(); и поток завершился, при том, что в потоке не было проверки на Terminated... выходит это не обязательно? 0_о тогда зачем Архангельский писал
0
|
||||||
|
|
|
| 31.08.2012, 21:44 | |
|
Для мягкого завершения... если вычисления циклические...
Terminate() устанавливает Terminated= true; поэтому цикл прекращается и поток заканчивается дойдя до условия while, "логически" завершенным.
0
|
|
|
13 / 13 / 3
Регистрация: 02.08.2012
Сообщений: 128
|
||||||||
| 31.08.2012, 21:46 [ТС] | ||||||||
|
Добавлено через 1 минуту Мой поток
0
|
||||||||
|
13 / 13 / 3
Регистрация: 02.08.2012
Сообщений: 128
|
||||||
| 31.08.2012, 21:51 [ТС] | ||||||
|
Это если я вызываю Terminate сразу после запуска потока - он завершается.
0
|
||||||
|
|
||||||
| 31.08.2012, 21:57 | ||||||
|
Ну так может где-то есть еще внутри условие,еще до Execute();
0
|
||||||
|
13 / 13 / 3
Регистрация: 02.08.2012
Сообщений: 128
|
||||||||||||||||
| 31.08.2012, 22:15 [ТС] | ||||||||||||||||
|
Проверка на состояние потока TThread
Код от "UI":
0
|
||||||||||||||||
|
13 / 13 / 3
Регистрация: 02.08.2012
Сообщений: 128
|
||
| 31.08.2012, 22:29 [ТС] | ||
|
PS: Resume/Suspend не рекомендованы к использованию... http://docwiki.embarcadero.com... ead.Resume Для только что созданного потока Resume() надо заменять Start();
0
|
||
|
13 / 13 / 3
Регистрация: 02.08.2012
Сообщений: 128
|
||
| 31.08.2012, 22:39 [ТС] | ||
|
Вместо него рекомендуют использовать TEvent и TMutex.
0
|
||
|
13 / 13 / 3
Регистрация: 02.08.2012
Сообщений: 128
|
||
| 31.08.2012, 22:59 [ТС] | ||
|
Еще есть бесплатная библиотека OmniThreadLibrary, но она написана на Делфи и я не знаю канает ли она для C++. Судя по этому посту http://www.thedelphigeek.com/2... s-you.html автор ее компилировал для С++... Скачать можно тут http://code.google.com/p/omnithreadlibrary/
0
|
||
| 31.08.2012, 22:59 | |
|
Отправка картинки IdHTTP POST в потоке TMemoryStream IdHTTP и IdHTTP сервер: как отправить сообщение от сервера к клиенту?
Скачивание файла с прогрессом Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js.
В помощники взял Яндекс-Алису.
Было создано три зала на разные интересы.
исторические и ретро
сериал Хичкок. . .
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#.
Название изменил на ColorStep.
Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
|
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами:
- ВидТО (СправочникСсылка. ВидыТО);
- ВидГСМ. . .
|
|
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала.
Ниже прикреплён. . .
|
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F
Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU.
Опрашиваются регистры. . .
|
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка:
Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
|
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо
Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
|