Напредък, когато е свързан със sevrera

Всъщност не напредък, а някакъв индикатор, който „изгаря“, докато се появява магията за свързване със сървъра на базата данни и изгасва, когато връзката завърши (включително неуспех).

Между другото, как да се определи причината за този много неуспех? (Например как да разбера, че сървърът не работи или компютърът изобщо е изключен, или базата данни е повредена, или няма .gdb файл)? как?


> Всъщност не напредък, а някакъв индикатор, който да се опита
> "изгаря", докато се случва магията на свързване със сървъра
> DB и тя изгасва, когато връзката е завършена (включително.
> неуспех).

Е, например, покажете някой анимиран gif или нещо подобно. Или просто малък прозорец с надпис като „Изчакай . Свързване към базата данни .“ и т.н. и така нататък.
Въпреки че обикновено за локална мрежа, връзката отнема по-малко от 1 секунда, така че няма нужда от никакъв "индикатор".


> Между другото, как да се определи причината за този много неуспех?
> (Например как да разберете, че сървърът не работи или
> като цяло комп. изключено или базата данни е повредена или не
> .gdb файл)? как?

Справете се с изключението.


> to-ry "изгаря", докато се случва магията за свързване със сървъра
> DB и изгасва, когато връзката завърши

Преди да извикате метода Connect, покажете (например) надписа "Свързване.", И след това

Обработвайте събития OnConnetc/OnDisconnect - скрийте надписа.

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;
ПоръчкиIBQ.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;
.


> DetList_IBO.Open;
> EngineMF.pb.Position: = EngineMF.pb.Position + 1;
> ПоръчкиIBQ.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. най-накрая край
И е желателно след като накрая да направите EngineMF.pb.Position: = EngineMF.pb.Max


> коя нишка е индикатор, който „изгаря“, докато се случва магията
> връзки към сървъра на базата данни и излиза, когато връзката завърши
> (включително неуспех).

MyIndicator.Light: = Вярно;
опитвам
опитвам
MySynchronousConnectionBase.Open;
накрая
MyIndicator.Light: = False;
край;
с изключение
на e: EClassExceptionsForMyConnectionBase правя
започнете
// скапано нещо
край;
край;