Форум: "Основная";
Текущий архив: 2005.07.25;
Скачать: [xml.tar.bz2];
ВнизПодвисание во время цикла Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.954 c