Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.03.2013, 11:35   #1
Дmmm
Пользователь
 
Регистрация: 26.02.2013
Сообщений: 66
По умолчанию Поток и его состояние

Создаются потоки, несколько штук параллельно, считают несколько часов, а то и дней. Как-то можно выводить информацию, сколько из запущенных еще "в работе", и чтобы каждый сообщал, как у него дела, типа текущий шаг цикла, i из N?
Дmmm вне форума Ответить с цитированием
Старый 29.03.2013, 17:59   #2
s-andriano
Старожил
 
Аватар для s-andriano
 
Регистрация: 08.04.2012
Сообщений: 3,229
По умолчанию

Пусть сообщает, например, при помощи оконных сообщений, в чем проблема то?
s-andriano вне форума Ответить с цитированием
Старый 01.04.2013, 17:53   #3
Дmmm
Пользователь
 
Регистрация: 26.02.2013
Сообщений: 66
По умолчанию

Что такое "оконное сообщение"? MessageBox? Везде ж пишут, что нельзя из потока обращаться к VCL. Наверно я неточно выразился, надо чтобы состояние потока сообщалось главной форме. Допустим, можно вести список запущенных потоков. Допустим, можно на OnTerminate навесить некий код, чтобы из этого списка завершённый поток удалялся. Вот только как главная форма узнает, чей именно OnTerminate сработал, если параллельно работают несколько однотипных потоков, событие же без параметров?
Дmmm вне форума Ответить с цитированием
Старый 01.04.2013, 18:37   #4
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

Цитата:
чей именно OnTerminate сработал, если параллельно работают несколько однотипных потоков, событие же без параметров?
как это? ..
eval вне форума Ответить с цитированием
Старый 01.04.2013, 19:33   #5
Slym
Участник клуба
 
Регистрация: 07.12.2011
Сообщений: 1,025
По умолчанию

так может с такими познаниями... дневной поток можно переделать в секундный ?
Не стесняемся, плюсуем!
Slym вне форума Ответить с цитированием
Старый 01.04.2013, 22:20   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
событие же без параметров?
Ошибаешся. В нее передается Sender:TObject, который указывает какой из потоков завершает работу.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 02.04.2013, 09:06   #7
bulldog5293
Форумчанин
 
Регистрация: 13.05.2010
Сообщений: 670
По умолчанию

sendmessage
bulldog5293 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Приостановить/возобновить поток, зная его ID 3StYleR C# (си шарп) 1 05.03.2013 10:33
В окне перемещаются объекты, отталкиваясь от стенок окна. Каждый объект имеет свой поток, перемещающий его. Встретившись, объекты ИльназВ C# (си шарп) 13 22.11.2012 19:00
TTHread, Как перезапустить поток, без его уничтожения? Человек_Борща Общие вопросы Delphi 20 21.08.2012 09:26
Как сохранить компонент в поток и сразу же его загрузить в BLOB поле? artemavd Общие вопросы Delphi 17 17.05.2012 23:52
Проверить запущен ли поток и изменить его приоритет? Человек_Борща Общие вопросы Delphi 1 27.07.2010 19:08