![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как заставить приложение реагировать во время выполнения задачи? [D6, 2000]
pathfinder © (2005-12-15 09:06:00)Подскажите пожалуйста как заставить приложение реагировать во время выполнения задачи на нажатие кнопок?
Vlad (2005-12-15 21:09:00) [1]
> pathfinder (15.12.05 20:46) [4]
Можно конечно и после каждой процедуры ставить ProcessMessages, возможно это даст эффект, но резко замедлит скорость выполнения цикла.
Лучше цикл выполнять в отдельном потоке, тогда проблем с нажатием кнопок на форме не будет никаких
pathfinder (2005-12-15 20:46:00) [2]Прошу прощения. Может я не совсем корректно сформулировал свой вопрос, но не могли бы Вы уделить чуточку внимания данной теме.
Как сделать так, чтобы во время выполнения цикла интерфейс программы (в частности кнопки) реагировал на манипуляции, производимые мышью? Собственно как это и бывает в нормальных программах:(
pathfinder (2005-12-15 09:32:00) [3]Ситуация такая:
есть цикл, состоящий из нескольких процедур:
for i:=1 to X do
begin
BaseConnect;
Execute;
BaseDisconnect;
end;
если я вставляю processmessages допустим в начале цикла, то во время выполнения одного цикла из всех процедур приложение висит:(
Может его вставить после каждой процедуры? Но тогда во время выполнения каждой из них приложение все равно будет висеть..
Как можно сделаь, чтобы кнопки формы были доступны для нажатия всегда?
Заранее спасибо.
evvcom (2005-12-15 09:12:00) [4]Или оформить выполнение задачи в отдельном потоке (TThread)
Anatoly Podgoretsky (2005-12-15 09:10:00) [5]Application.ProcessMessages