Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.12.20;
Скачать: CL | DM;

Вниз

Выполнить в фоне   Найти похожие ветки 

 
STD   (2009-11-02 20:26) [0]

Здравствуйте, прошу совета по реализации. Есть процедура, выполнение которой занимает длительное время. В ней обрабатываются данные из различных контролов формы, у которых предварительно выставляется Enabled := false;  В процедуре есть вставки Application.ProcessMessages. Хочется, чтобы можно было нормально работать с незадействованными контролами, в данном случае они заметно притормаживают.


 
Омлет ©   (2009-11-02 20:35) [1]

Вынесите процедуру в отдельный поток.


 
RWolf ©   (2009-11-02 20:37) [2]

фоновые операции выполняются в отдельных потоках.
F1: TThread


 
Leonid Troyanovsky ©   (2009-11-02 22:12) [3]


> Омлет ©   (02.11.09 20:35) [1]

> Вынесите процедуру в отдельный поток.

Что заметно притормозит торможение оного.

--
Regards, LVT.


 
STD   (2009-11-03 06:32) [4]

Значит новый поток единственный вариант? Меня смущает то, что если я вынесу ее в отдельный поток, то его блок Synchronize будет очень большой и медленный, т.к. основная работа идет с контролами: информация из них берется и в них пишется.


 
Leonid Troyanovsky ©   (2009-11-03 07:31) [5]


> STD   (03.11.09 06:32) [4]

> будет очень большой и медленный, т.к. основная работа идет
> с контролами: информация из них берется и в них пишется

Пользуй контролы со стилями owner draw or virtual.

--
Regards, LVT.



Страницы: 1 вся ветка

Текущий архив: 2009.12.20;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.008 c
2-1256897496
pesad
2009-10-30 13:11
2009.12.20
Быстрая графика


15-1256145675
palva
2009-10-21 21:21
2009.12.20
Неполадки в форуме?


4-1225224879
AndreyRus
2008-10-28 23:14
2009.12.20
Странности в определении загруженности CPU


2-1257257897
Сергей
2009-11-03 17:18
2009.12.20
Как передать процедуру на выполнение в Timer.OnTimer?


2-1257157663
Сергей
2009-11-02 13:27
2009.12.20
Как передать данные в CRReport.PrintOut