![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Помогите
Rule © (2002-09-11 10:11:00)У меня прога в цыкле ищет текст, в общем цыкл большой и во время поиска если что-нибудь сделать то прога виснет (подвигать мышкой, попытаться переместить окно). Я когда-то встречалься с процедурой, которя предает как-бы управления активности другим окнам, тем самым предотваращает зависание. Так вот ее надо вставить в цыкл и тогда будет все нормально. Подскажите плиз какая это процедура !!!!!!!!!!!!
Rule (2002-09-11 13:39:00) [1]Всем очень благодарен, спасли мне жизнь :))))С меня причитается, кстати поздравляю всех с днем ПРОГРАММЕРА в этом году 13 числа в пятницу, не верите , то можете сами подсчитать 256-ой день в году !!!
zavdim (2002-09-11 12:46:00) [2]Оно конечно, только если цикл действительно фоновый. Если же прога и не должна реагировать, а только прорисовываться, то бодаться с потоками не стоит.
Song (2002-09-11 11:38:00) [3]Гораздо эффективней будет выкинуть цикл в отдельную нить (TThread)
zavdim (2002-09-11 10:47:00) [4]Только если цикл большой, то лучше делать APP...Process не на каждом шаге а, допустим, через 100 или больше, а то цикл будет очень долгим.
if i mod 100 = 0 then Application.ProcessMessages
Рыжик (2002-09-11 10:22:00) [5]Никаких параметров не надо. Вставляешь эту строку в цикл и всё (на всякий случай: должен быть uses Forms).
Например:
for i:=... to ...
begin
...//делаем чего надо
//Затем:
Application.ProcessMessages;
end;
Rule (2002-09-11 10:18:00) [6]Огромное спасибо за эскстреннцю помощь, но:А какие параметры вводить и что они значать, если вам не трудно ответить.
Рыжик (2002-09-11 10:15:00) [7]Application.ProcessMessages