ProgreessBar, подвисание проги

Модераторы: Duncon, Naeel Maqsudov, Игорь Акопян, Хыиуду

Ответить
095
Сообщения: 34
Зарегистрирован: 13 авг 2008, 19:15
Контактная информация:

Уважаемые знатоки! У меня проблема такая:
Есть форма, на ней Progressbar (Gauge, как его назвали)...
Но толк от него пропадает, когда программа попросту занята 15минутным выполнением задачи (разбор гигабайтного XLS, например) - В заголовке появляется некое (Не отвечает), форма перекрашивается в белый цвет и всё приехали.....

Вопрос такой, для тех кто сталкивался: Как оживить Progressbar во время выполнения программы?
Алгоритм растет, что будет когда программа будет выполнятся 2 часа, допустим?....
IceFlame
Сообщения: 62
Зарегистрирован: 29 ноя 2009, 03:54

Выполнять "тяжелые" ресурсоемкие задачи в отдельном потоке. Периодически посылать главному потоку сообщения о текущем прогрессе и принимать команды о паузе или останове процесса.
Аватара пользователя
Duncon
Сообщения: 2085
Зарегистрирован: 10 окт 2004, 14:11
Откуда: Питер
Контактная информация:

Application.ProcessMessages; куда-нить в цикл засунь, желательно не слишком часто, а то прирост времени получишь..
[syntax=Delphi] [/syntax]
Ответить