Тема: Форма перестает отображать процесс изменений в документе
В диалоговой форме задается выполнение последовательности процедур для активного документа.
При нажатии пользователем кнопки ОК последовательно вызывается каждая заданная процедура,
в цикле (например):
- удаляющая закладку
- вычисляющая текущий процент удаления
- устанавливающая капщен лейбла на форме: "Процент удаления закладок: [Значение]%"
- вызывающая репейнт формы
Потом следующая процедура и т.д. Каждая процедура отображает происходящий процесс.
Изменения динамично отображаются на форме. Но секунд через 10 она прекращает обновляться. Какое то время - секунд 10 просто висит (в заголовке отображается Not Responding), потом процесс заканчивается и форма удаляется.
10 первых секунд макрос удаляет и создает закладки в документе и форма обновляется.
Остальное время, когда форма не обновляется, макрос вставляет тексты в документ.
На время работы макроса, обновление окна Ворда запрещено. Когда я запрет убрал - на зависании формы это не отразилось. Процессор мощный, памяти много. Ворд 2007. Виндовс 7. Заголовков с Not Responding я до этого не встречал.
Кто знает, почему она прекращает обновляться. Как это побороть?
И еще, я понимаю, что макросы по определению медленнее, чем exe.
Можно ли скомпилировать макрос в exe? Что для этого нужно?
Будет ли он после этого продолжать находиться в шаблоне документа?
Отредактировано rizalut (17.01.2010 16:01:12)