Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2004.08.08;
Скачать: [xml.tar.bz2];

Вниз

решение проблемы обрыва коннекта в IBX   Найти похожие ветки 

 
GanibalLector ©   (2004-07-13 20:21) [0]

Вот,опять хотел вернуться к этой проблеме.Завтра намечается свободный день и,соответственно,хочу попробовать.Итак,на ibase.ru две статьи по этому поводу.
http://www.ibase.ru/fibc/ibx_disc.htm
http://www.ibase.ru/devinfo/ibx_connect.txt
Вопрос,а какую из этих статей применять???Дальше больше...после изменений,которые описаны в этих статьях,я думал что появится новое событие.Но внимательно пригляделся к САБЖу и увидел,что нового события не будет.Соответственно,возникает второй вопрос,как отловить обрыв коннекта???

З.Ы. Может не мучаться с IBX,а у китайцев взять FibPlus???Говорят,что там-то есть такое событие(это я про обрыв).


 
jack128 ©   (2004-07-13 20:34) [1]


> Но внимательно пригляделся к САБЖу и увидел,что нового события
> не будет.Соответственно,возникает второй вопрос,как отловить
> обрыв коннекта???


Открываю http://www.ibase.ru/devinfo/ibx_connect.txt и что же я вижу?
А вижу я следующее:
------начало цитаты------------------
К сожалению, в конце процедуры TIBDatabase.InternalClose уже не будет
работать IBDatabaseError. Я поместил туда простой эксепшн:

 if FLostConnection then          // все-таки надо что-то сообщить
   raise Exception.Create("Connection lost!");  // ivan_ra

Правильней будет форматировать его как это делается в IBDatabaseError,
но в принципе, юзеру и так должно быть понятно: программу надо завершать
или подключаться по новой
------------конец цитаты-------------------------------------------
не думаю, чтоо нужно иметь семь пядей во лбу, чтобы догадаться как сделать событие OnConnectionLost ....


 
GanibalLector ©   (2004-07-13 20:51) [2]

2 jack128
М-да...я видел то.Но не придал особого значения.

>не думаю, чтоо нужно иметь семь пядей во лбу, чтобы догадаться как сделать событие OnConnectionLost ....
Пардон,но не знаю как.Подскажи.

З.Ы. Пардон конечно,но занимаюсь самообразованием(по книжкам и т.д)...Поэтому такие вопросы.


 
jack128 ©   (2004-07-13 21:14) [3]


> Пардон конечно,но занимаюсь самообразованием(по книжкам
> и т.д)...
я тоже. Надо заметить, что большенство обитателей форума(исключая майско-декабрьские наплывы студентов) не учились программированию в ВУЗе.


> Пардон,но не знаю как.Подскажи.

type
 TIbDataBase = class
 private
   FOnConnectionLost: TNotifyEvent;
 protected
   procedure DoConnectionLost; dynamic;
 published
   property OnConnectionLost: TNotifyEvent read FOnConnectionLost write FOnConnectionLost;
 end;

procedure TIbDataBase.DoConnectionLost;
begin
 if Assigned(FOnConnectionLost) then
   FOnConnectionLost(Self);
end;

теперь вызываешь процедуру  DoConnectionLost в том месте где ivan_ra поднял исключение. Только учти, весьма вероятно, что в этом событии ты НЕ сможешь по новой подключиться к базе. Зависит от кода, который вызывает InternalClose...


 
GanibalLector ©   (2004-07-13 21:39) [4]

Большое спасибо.Ща попробую.



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2004.08.08;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.029 c
14-1090219157
Nous Mellon
2004-07-19 10:39
2004.08.08
Осваиваем интернетъ


14-1089100382
Глеб
2004-07-06 11:53
2004.08.08
Изготовление справочной системы


1-1090568878
NJoe
2004-07-23 11:47
2004.08.08
TImage и рисование на канвасе


1-1090449411
Adil
2004-07-22 02:36
2004.08.08
Как поставить в RichEDIT рисунку?


1-1090438350
AlexR
2004-07-21 23:32
2004.08.08
Как убрать свою программу из TaskBar





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский