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

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

Progress при подключении к севреру [D7, IB6.x]


MORA ©   (2004-10-22 00:01:00) 

Собственно, не прогресс, а какой-нить индикатор, к-рый "горит", пока происходит магия подключения к серваку БД, и тухнет, когда подключение завершено (в т.ч. неудачей).

Кстати, как определить причину той самой неудачи? (Например, как узнать, что не запущен сервер или вообще комп. выключен, или БД повреждена, или нет файла .gdb)? Как?


Digitman   (2004-10-22 15:52:00) [1]


> какой-нить индикатор, к-рый "горит", пока происходит магия
> подключения к серваку БД, и тухнет, когда подключение завершено
> (в т.ч. неудачей).


МойИндикатор.Гореть := True;
try
try
  МоеСинхронноеСоединениеСбазой.Open;
finally
 МойИндикатор.Гореть := False;
end;
except
on e:EКлассИсключенияДляМоегоСоединенияСбазой do
 begin
   //хреново дело
 end;
end;


Пуртик   (2004-10-22 13:30:00) [2]


> DetList_IBO.Open;
>    EngineMF.pb.Position := EngineMF.pb.Position + 1;
>    OrdersIBQ.Open;
>    EngineMF.pb.Position := EngineMF.pb.Position + 1;
>    FullSellersIBQ.Open;
>    EngineMF.pb.Position := EngineMF.pb.Position + 1;
>    LoadMakersIBQ.Open;
>    EngineMF.pb.Position := EngineMF.pb.Position + 1;
>    LoadGroupsIBQ.Open;

Все это надо в блоке try ... finally end
Причем желательно после finally  сделать EngineMF.pb.Position := EngineMF.pb.Max


DSKalugin   (2004-10-22 12:15:00) [3]

pb это Progressbar
   EngineMF.pb.Min := 0;
   EngineMF.pb.Max := 9;
   EngineMF.pb.Position := 0;
   EngineMF.pb.Visible := true;
   DetList_IBO.Open;
   EngineMF.pb.Position := EngineMF.pb.Position + 1;
   OrdersIBQ.Open;
   EngineMF.pb.Position := EngineMF.pb.Position + 1;
   FullSellersIBQ.Open;
   EngineMF.pb.Position := EngineMF.pb.Position + 1;
   LoadMakersIBQ.Open;
   EngineMF.pb.Position := EngineMF.pb.Position + 1;
   LoadGroupsIBQ.Open;
......


Геннадий   (2004-10-22 08:10:00) [4]


> к-рый "горит", пока происходит магия подключения к серваку
> БД, и тухнет, когда подключение завершено


Перед вызова метода Connect показывай (напр.) надпись "Подключаемся....", а затем
Обрабатывай события OnConnetc/OnDisconnect - прячь надпись.


Zacho   (2004-10-22 00:55:00) [5]


> Собственно, не прогресс, а какой-нить индикатор, к-рый
> "горит", пока происходит магия подключения к серваку
> БД, и тухнет, когда подключение завершено (в т.ч.
> неудачей).

Ну, например, анимированный gif показывай какой-нибудь, или еще что-то подобное. Или просто небольшое окошко снадписью типа "Подождите .. Подключение к БД.." И т.д. и т.п.
Хотя обычно для локальной сети подключение происходит меньше 1 сек., так что и "индикатора" никакого не надо.


> Кстати, как определить причину той самой неудачи?
> (Например, как узнать, что не запущен сервер или
> вообще комп. выключен, или БД повреждена, или нет
> файла .gdb)? Как?

Обрабатывай exception.


Наверх

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