![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Почему при выполнении цикла, форма виснет? [D7, 2000]
XTD © (2006-10-03 14:10:00)Нужно выводить в форму в Label счетчик цикла, а так как при выполнении цикла форма виснет, то вместо цифр выводится белый квадратик.
Как можно решить эту проблемку?
ProgRAMmer Dimonych (2006-10-04 01:07:00) [1]> [9]
Это зависит конкретного компьютера. Если он в состоянии за максимум секунду-две пройти весь цикл, то проблем не возникнет. А если нет, ...
Галинка (2006-10-04 01:01:00) [2]а при каком количестве проходов цикоа такое возможно? делала много раз где-то до 1000. Ничего не висло, но было видно только последнее число.
Kolan (2006-10-03 18:37:00) [3]
> Почему при выполнении цикла, форма виснет?
Потому, что главный поток занят выполнкнием цикла и не может перерисовать форму.
Джо (2006-10-03 18:13:00) [4]или на другую планету.
MacroDenS (2006-10-03 17:46:00) [5]или вынести процедуру в отдельный поток
PZ (2006-10-03 17:45:00) [6]Внутри цикла вставить строчку:
Application.ProcessMessages;
Сергей М. (2006-10-03 14:16:00) [7]
> В каком месте вызывать Label1.Repaint?
В теле цикла в любом месте послестрочки Label.caption := ...
Джо (2006-10-03 14:14:00) [8]> [2] XTD © (03.10.06 14:13)
> Можно примерчик? В каком месте вызывать Label1.Repaint?
В теле цикла, разумеется.
XTD (2006-10-03 14:13:00) [9]Можно примерчик? В каком месте вызывать Label1.Repaint?
Джо (2006-10-03 14:11:00) [10]> Как можно решить эту проблемку?
В цикле вызывать Label1.Repaint.