Форум — Ответы ( К темам )
| ? | Дикий: Проблема отображения окна во время выполнения приложения. (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!
 | |