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

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

Как проверить связь с сервером? [IB6.x, FB]


Ш-К ©   (2003-05-14 21:00:00) 

В событии FormCloseQuery ставлю, например, такой код:

IBTransaction1.StartTransaction;
IBTransaction1.Commit;

Если во время работы программы произошел дисконнект с ИВ, то программу невозможно будет закрыть.
Будет постоянно вылетать:
"connection lost to database"

Как проверять связь с сервером?


Ш-К   (2003-05-15 23:10:00) [1]

Тоже вариант. Можно построить логику программы на переваривании Exception.

Но реально ли все-таки или проверять своеручно, или ловить дисконект еще до исключения?


AlexSerp   (2003-05-15 14:11:00) [2]

В procedure TForm1.AppException(Sender: TObject; E: Exception), объявленной в приложении заранее

procedure TFrmMDImain.AppException(Sender: TObject; E: Exception);
begin
if pos("connection lost to database", E.message)>0 then
begin
ShowMessage("Потеряна связь с сервером! Попробуйте еще раз." +#13
+"Если не получается закройте программу или перезагрузите компьютер.");
DB.Connected :=False;
DB.Connected :=True;
exit;
end;
showmessage("Возникла ошибка со следующим сообщением !!! "+E.message);
end;


Ш-К   (2003-05-15 13:26:00) [3]

А без FIBPlus?


Senator   (2003-05-15 10:38:00) [4]

Использовать FIBPlus компоненты, там есть возможность отловить и обработать потерю связи


Наверх

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