Форум - Ответы     (  К темам )
 ?  Дикий: Проблема отображения окна во время выполнения приложения. (09-04-2003 10:48:13)
У меня возникла такая проблема. Я, создаю таблицу, выбирая нужные мне данные из 15 таблиц, так как процесс относительно длительный используется отображение хода процесса (ProgressBar), но помимо этого я поставил Label и к ней обращаюсь, чтобы показывала какая таблица в данный момент обрабатывается.
Проблема:
1) во время выполнения процесса Label не меняется на экране(только по завершении процесса пишется имя соответственно последней таблицы);
2) если во время процесса свернуть окно, а потом развернуть, то все размыто и виден только ход отображения процесса (после окончания процесса все нормально отображается).
Пожалуйста может кто скажет в чем проблема (я новичек).
 Alexander (09-04-2003 13:53:02)
Дело в том, что вся отрисовка изменений происходит по сообщению WM_PAINT и т.д. - только тогда контрол начинает себя перерисовывать... А чтобы он получил это сообщение, нужно процессорное время параллельно с основной работой. Поэтому в любых длительных операциях нужно в циклы вставлять вызов Application->ProcessMessages() ... Эта фукнция все накопившиеся сообщения распределит между получателями. Тогда и проихойдет отрисовка и все будет нормально.
 Дикий (09-04-2003 14:15:49)
Спасибо Alexander!


support@cbuilder.ru