Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Работа с данными

Страница: 1 |

 

  Вопрос: Зависание ProgressBar'а Добавлено: 07.04.08 20:48  

Автор вопроса:  Arseny | ICQ: 298826769 
Прога конвертит большие (до 2млн записей) базы DBASE в формат ACCESS. загрузка проца - около 70-80 процентов. конвертит довольно шустро, но проблема вот в чем: дабы юзеру было ясно, что происходит и когда это кончится, добавил прогрессбар. сколько-то времени сначала он отображает ход процесса, потом - виснет. то же самое происходит и с лэйблом, отображающим кол-во импортированных записей. Хотя импорт продолжается. Как заставить прогрессбар корректно отображать данные? Refresh - будет тормозить работу, поэтому просьба не предлагать.
P.S. AutoRedraw - выставлен.

Ответить

  Ответы Всего ответов: 3  

Номер ответа: 1
Автор ответа:
 el-paso



Вопросов: 3
Ответов: 164
 Профиль | | #1 Добавлено: 07.04.08 22:18
Там, хде цикл, после обновления значения прогресс-бара вставить DoEvents.

Ответить

Номер ответа: 2
Автор ответа:
 Ra$cal



ICQ: 8068014 

Вопросов: 18
Ответов: 817
 Web-сайт: www.rascalspb.narod.ru
 Профиль | | #2
Добавлено: 07.04.08 22:49
поток расчета уходит в цикл, не вызывая системные функции по отрисовке данных. вообще правильным является создание потока, который будет делать конвертирование, а первичный поток процесса оставить на демонстрацию прогресса. но так как это васик - с поточностью будут проблемы. Так что DoEvents, хотя это тож немало тормозит процесс расчета. Но особого выбора нет

Ответить

Номер ответа: 3
Автор ответа:
 Arseny



ICQ: 298826769 

Вопросов: 53
Ответов: 1732
 Профиль | | #3 Добавлено: 07.04.08 23:07
В общем-то я так и сделал, хотя надеялся обойтись без DoEvents... Все равно, всем спасибо.

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам