Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Индикатор хода выполнения при запросе к БД [D6]


seacat ©   (2003-01-08 17:03:00) 

Производится запрос к базе на Oracle компонентом oraquery, который выполняется очень долго. Можно ли отобразить индикатор хода выполнения в приложении? Также хотелось бы узнать можно ли во время таких запросов разморозить приложение (сделать так, чтобы оно реагировало на комманды во время запроса)?


id_privin   (2003-01-08 18:33:00) [1]

Надо запускать запросы в отдельных потоках. Или ставить у компонентов свойство Threded в true. И показывать пользователю заставку. И помнить что сволочной пользователь обязательно захочет выполнить еще один запрос


passm   (2003-01-08 17:27:00) [2]

seacat (08.01.03 17:03)> Время, которое сервер затратит на выполнение запроса предугадать невозможно. Поэтому индикатор выполнения запроса (TProgressBar) отобразить нельзя. Но, можно показать AVI или GIF и написать что-то вроде "УШЛА НА БАЗУ ДАННЫХ...", чтобы пользователь был уверен, что его приложение работает.
Избавиться от эффекта зависания приложения можно, если выполнение запроса (точнее, выполнять будет Oracle а приложение всего лишь выполнит TQuery.Open или TQuery.ExecSQL) запустить в отдельном потоке.


Наверх

Титульная страница Поиск, карта сайта Написать письмо