![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Выполнить в фоне [D7, XP]
STD © (2009-11-02 20:26:00)Здравствуйте, прошу совета по реализации. Есть процедура, выполнение которой занимает длительное время. В ней обрабатываются данные из различных контролов формы, у которых предварительно выставляется Enabled := false; В процедуре есть вставки Application.ProcessMessages. Хочется, чтобы можно было нормально работать с незадействованными контролами, в данном случае они заметно притормаживают.
Leonid Troyanovsky (2009-11-03 07:31:00) [1]
> STD (03.11.09 06:32) [4]
> будет очень большой и медленный, т.к. основная работа идет
> с контролами: информация из них берется и в них пишется
Пользуй контролы со стилями owner draw or virtual.
--
Regards, LVT.
STD (2009-11-03 06:32:00) [2]Значит новый поток единственный вариант? Меня смущает то, что если я вынесу ее в отдельный поток, то его блок Synchronize будет очень большой и медленный, т.к. основная работа идет с контролами: информация из них берется и в них пишется.
Leonid Troyanovsky (2009-11-02 22:12:00) [3]
> Омлет © (02.11.09 20:35) [1]
> Вынесите процедуру в отдельный поток.
Что заметно притормозит торможение оного.
--
Regards, LVT.
RWolf (2009-11-02 20:37:00) [4]фоновые операции выполняются в отдельных потоках.
F1: TThread
Омлет (2009-11-02 20:35:00) [5]Вынесите процедуру в отдельный поток.