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

Вниз

Подвисание во время цикла   Найти похожие ветки 

 
Lexa   (2005-07-07 23:35) [0]

При выполнении цила, тело которого достаточно объёмно, и время выполнения достаточно ощутимо, происходит подвисание программы. В Visual Basic помнится была такая директива DoEvents которая позволяла, будучи записанной в тело цикла, обрабатывать операционной системе другие события и процедуры приолжения, несколько увеличивая суммарное время выполнения цикла, но уменьшающая эффект подвисания. Есть ли в Delphi какой либо аналог этой директивы?


 
P.N.P. ©   (2005-07-07 23:38) [1]

Application.ProcessMessages
Но лучше цикл в отдельном потоке запускать


 
Гаврила ©   (2005-07-08 00:13) [2]

Я считаю, что если пользователь все равно работать с программой не может, пока цикл не закончится, то никаких потоков городить не надо, достаточно Application.ProcessMessages


 
Германн ©   (2005-07-08 01:26) [3]

2 Гаврила ©   (08.07.05 00:13) [2]
>Я считаю, что если пользователь все равно работать с программой >не может, пока цикл не закончится...

А где это сказано в сабже?
Но, имхо, разумность использования доп. потоков, всегда стоит обдумывать заранее!


 
ЮЮ ©   (2005-07-08 03:14) [4]

>Гаврила ©   (08.07.05 00:13) [2]
>достаточно Application.ProcessMessages
 В результате чего, если пользовать нажмет другую кнопку, то сначала обработается клик по ней, а лишь потом закончит цикл.
Так что, последствия cовершенно противоречат совету :)



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

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

Наверх




Память: 0.47 MB
Время: 0.035 c
14-1119803494
Nick Denry
2005-06-26 20:31
2005.07.25
Слетело 2 компа за неделю... или что такое Bulding DMI pool


1-1120577831
Alex77777
2005-07-05 19:37
2005.07.25
Как читать файлы xml


9-1113163688
Ford
2005-04-11 00:08
2005.07.25
Движок средствами Delphi через Glsene.


14-1120332268
NewWonder
2005-07-02 23:24
2005.07.25
Как написать аналог этого кода на MS Visual C++


4-1117110559
DimN
2005-05-26 16:29
2005.07.25
Узнать цвет точки на экране