Показать сообщение отдельно
Старый 25.07.2006, 12:37   #1  
murick is offline
murick
Участник
Аватар для murick
 
59 / 10 (1) +
Регистрация: 10.04.2006
->
День добрый всем.

Есть кнопка на форме, которая вызывает определённый код. Этот код производит различные проверки в таблицах, кое-чего добавляет и т. д. Процесс выполнения этого кода немного долгий - мин. 5-6. Хочется, чтобы форма в это время как-то давала понять пользователю, что навижн не завис, а обрабатывает данные. Установил прогресс-бар на форму, связал её с переменной Progress. В самом коде я прохожусь по всем записям в таблице и поочерёдно обрабатываю каждую запись. после перехода на новую запись увеличиваю значение переменной Progress на определённое число и обновляю контролы этой формы.

Код:
step:=ROUND(100/WOList.COUNT,1,'=');			//WOList - список записей для обработки
REPEAT
...
сам обработчик записей
...

WOList.MODIFY;
progress:=progress+step;
CurrForm.UPDATECONTROLS;
UNTIL WOList.NEXT=0;
Однако никакого обновления не происходит. Нашёл на форуме похожие темы. Там советовали произвести обновление в триггере OnOpen формы и OnValidate самого прогресс-бара, однако всё равно ничего не выходит. Форма просто молча обрабатывает записи, временами выводя какие-то системные сообщения, а шкала прогресса стоит на нуле. По завершению выполнения кода шкала "подскакивает" сразу до конца.
Подскажите, пожалуйста, в чём ошибка . Спасибо всем.