|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
22.02.2014, 21:39 | #11 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
В цикле тела потока проверяй ее на true. Если она false - выйти из цикла. Далее просто каждому потоку передавай false, и жди пока тот выйдет. Потом следующему и так в цикле. P.S. Можно еще использовать свойство Terminated (что кстати с примером описано в хелпе), но я с ней как-то не особо подружился, не знаю почему.
I'm learning to live...
|
|
22.02.2014, 22:03 | #12 | |
Форумчанин
Регистрация: 21.01.2014
Сообщений: 389
|
Цитата:
Вот я его и использую, передаю в цикле потокам - terminate, в самих потоках проверяю его. В итоге потоки продолжают работать. Есть подозрение, что я не правильно тераминирую потоки. Код:
Последний раз редактировалось Stilet; 22.02.2014 в 23:11. |
|
22.02.2014, 22:37 | #13 | |
Форумчанин
Регистрация: 13.05.2010
Сообщений: 670
|
Цитата:
|
|
22.02.2014, 22:45 | #14 |
Форумчанин
Регистрация: 21.01.2014
Сообщений: 389
|
|
22.02.2014, 22:49 | #15 |
Форумчанин
Регистрация: 13.05.2010
Сообщений: 670
|
Код:
Код:
|
22.02.2014, 22:59 | #16 | |
Форумчанин
Регистрация: 21.01.2014
Сообщений: 389
|
Цитата:
Этот код покажет ошибку. Код:
Код:
Тоже самое и с: Код:
|
|
22.02.2014, 23:10 | #17 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Все там останавливается. Вот пример:
Код:
I'm learning to live...
|
23.02.2014, 09:06 | #18 |
Форумчанин
Регистрация: 21.01.2014
Сообщений: 389
|
Stilet, спасибо!
Сделал так: Код:
Последний раз редактировалось bilibian; 23.02.2014 в 11:34. |
23.02.2014, 16:57 | #19 |
Форумчанин
Регистрация: 21.01.2014
Сообщений: 389
|
При запуске потоков я устанавливаю FreeOnTerminate:=false; так как если поставить True, то при остановке по кнопке будет ошибка "Thread Error: Неверный дескриптор (6)".
Так вот, при использовании FreeOnTerminate:=True; память освобождается по завершению работы потока, а если я использую FreeOnTerminate:=false; то как в этом случае быть? |
23.02.2014, 17:46 | #20 |
Форумчанин
Регистрация: 13.05.2010
Сообщений: 670
|
завести обработчик onterminated и внём убивать, +можно на форме сообщать что такой то поток убит или что ни будь другое
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Создание нескольких потоков | iKarma | Общие вопросы Delphi | 9 | 20.10.2011 18:11 |
Запуск нескольких потоков | bulldog5293 | Общие вопросы Delphi | 3 | 11.11.2010 18:24 |
Как реализовать запуск и контроль нескольких однотипных потоков. | Son | Общие вопросы Delphi | 5 | 29.04.2010 08:40 |
Работа с файлом из нескольких потоков | boris-blade | Общие вопросы .NET | 2 | 02.04.2010 17:21 |
Запуск потоков в цикле | VALERO | Общие вопросы Delphi | 11 | 01.03.2009 14:57 |