Показать сообщение отдельно

  #1  
Старый 09.04.2010, 17:58
trigada
Banned
Регистрация: 23.09.2009
Сообщений: 5
С нами: 8753760

Репутация: 0
По умолчанию

Такой вопросик:
Имеется Button1, при ее нажатии создаем и запускаем потоки, также имеется переменная count_threads_on (кол-во работающих потоков), соответсвенно при запуске потока увеличиваем count_threads_on, при завершении уменьшаем count_threads_on, потом Button1.Enabled:=False;
В Button1, поставил такой код (ждем пока не завершатся все потоки, возобновляем Button1)
Код:
 while count_threads_on<>0 do Application.ProcessMessages;
if count_threads_on=0 then
Button1.Enabled:=True;
Так вот этот цикл конкретно выгружает процессор while count_threads_on<>0 do Application.ProcessMessages;
Может есть какой то выход? Или я что то не так сделал?
Еще у меня есть таймер, он обновляется каждую секунду, выполняет кое-что, может сделать проверку там (if count_threads_on=0 then Button1.Enabled:=True; ) ?

Короче говоря насколько я знаю, то это не критично?
Так как, ничего не подвисает, а просто глянул на загрузку процессора, и начал сомневатся что все норм.

Последний раз редактировалось trigada; 09.04.2010 в 18:15..
 
Ответить с цитированием