Снова про разрыв коннекта (патч IBX)
Модератор: kdv
Снова про разрыв коннекта (патч IBX)
Народ, помогите разобраться в последовательности действий при установке патча
http://www.ibase.ru/fibc/ibx_disc.htm
Указанные в статье файлы поправил, сделал build, объектные и dcu файлы переписал поверх в соответствующие директории. Ноль эффекта. Хэндлы запущенных транзакций после разрыва коннекта не освобождаются. Что не так делаю? Как правильно пропатчить IBX 6.08 под Builder 6.
http://www.ibase.ru/fibc/ibx_disc.htm
Указанные в статье файлы поправил, сделал build, объектные и dcu файлы переписал поверх в соответствующие директории. Ноль эффекта. Хэндлы запущенных транзакций после разрыва коннекта не освобождаются. Что не так делаю? Как правильно пропатчить IBX 6.08 под Builder 6.
Re: Снова про разрыв коннекта (патч IBX)
Я просто купил FIB+DenVK писал(а): Народ, помогите разобраться в последовательности действий при установке патча
http://www.ibase.ru/fibc/ibx_disc.htm
Указанные в статье файлы поправил, сделал build, объектные и dcu файлы переписал поверх в соответствующие директории. Ноль эффекта. Хэндлы запущенных транзакций после разрыва коннекта не освобождаются. Что не так делаю? Как правильно пропатчить IBX 6.08 под Builder 6.
-
- Сообщения: 144
- Зарегистрирован: 16 фев 2006, 22:36
Re: Снова про разрыв коннекта (патч IBX)
Доброго времени суток!
Посмотрите http://www.ov-soft.com/components/ibxm/ibxm.htmDenVK писал(а): Как правильно пропатчить IBX 6.08 под Builder 6.
-
- Заслуженный разработчик
- Сообщения: 1436
- Зарегистрирован: 15 сен 2005, 09:05
При чем тут приложение, когда это касяк ibx, разве приятно лажать чужие разработки? Приложение не может быть построено на дб-аварии, авария может случиться в любом приложении, построенном на ibx6.08, задача и состояла в том, как этого избежать, если возможно, или на край -сообщить пользователю что мол-дисконнект, приложение будет закрыто, заходи по-новой! Покупать fib - не до этого. А КУЗНЕЦОВУ ЕВГЕНИЮ БОЛЬШОЕ СПАСИБО ЗА ССЫЛОЧКУ ! БУДУ РАЗБИРАТЬСЯ.Dimitry Sibiryakov писал(а):Я, конечно, сейчас открою флеймовую тему, но, по-моему, если приложение гуевое и построено на дб-аварии, то единственный способ корректно обработать потерю коннекта - сказать об этом пользователю и панически выгрузиться, бросая все нечестным трудом нажитое.
Вопрос еще такой есть. "Как поймать exception именно ibx ?".
Если написать свою функцию перехвата всех сообщений-
Application->OnException=MyException;
...
void __fastcall TMainForm::MyException(TObject *Sender,Exception *E)
{...}
то это не родственные exception и IBErrorCode тут не поймаешь.
Писать везде где идет работа с базой таким образом-
try{..Open()..Commit()..Execute..и т.д}
catch(Ib::EIBError *err)
{
if(err->IBErrorCode==335544721)
{ ShowMessage("Отсутствует соединение с базой !");}
}-тоже геморно.
Есть ли соображения по этому поводу, уважаемые форумчане?
Если написать свою функцию перехвата всех сообщений-
Application->OnException=MyException;
...
void __fastcall TMainForm::MyException(TObject *Sender,Exception *E)
{...}
то это не родственные exception и IBErrorCode тут не поймаешь.
Писать везде где идет работа с базой таким образом-
try{..Open()..Commit()..Execute..и т.д}
catch(Ib::EIBError *err)
{
if(err->IBErrorCode==335544721)
{ ShowMessage("Отсутствует соединение с базой !");}
}-тоже геморно.
Есть ли соображения по этому поводу, уважаемые форумчане?
А написать универсальную процедуру обработки Exception именно для EIBError и тыкать ее вместо ShowMessage("Отсутствует... никак?DenVK писал(а):Вопрос еще такой есть. "Как поймать exception именно ibx ?".
Если написать свою функцию перехвата всех сообщений-
Application->OnException=MyException;
...
void __fastcall TMainForm::MyException(TObject *Sender,Exception *E)
{...}
то это не родственные exception и IBErrorCode тут не поймаешь.
Писать везде где идет работа с базой таким образом-
try{..Open()..Commit()..Execute..и т.д}
catch(Ib::EIBError *err)
{
if(err->IBErrorCode==335544721)
{ ShowMessage("Отсутствует соединение с базой !");}
}-тоже геморно.
Есть ли соображения по этому поводу, уважаемые форумчане?
-
- Заслуженный разработчик
- Сообщения: 1436
- Зарегистрирован: 15 сен 2005, 09:05
Ну хорошо, отмазки приняты !!!Dimitry Sibiryakov писал(а):Ну чувак... Я даже не знаю...DenVK писал(а):При чем тут приложение, когда это касяк ibx, разве приятно лажать чужие разработки? Приложение не может быть построено на дб-аварии
"Гуевое" - имеющее GUI.
"Дб-авария" - db-aware компоненты.
Интерессная терминология...,запишем на винчестер :
Последний раз редактировалось DenVK 06 июл 2007, 09:18, всего редактировалось 1 раз.
Уточните, пожалуйста, где это смотреть?kdv писал(а):родственные, поймаешь. см наследование exceptions в ibx.
Насколько я понимаю, если и срабатывает IBerror. то в Application.OnException попадает код ошибки не объекта ibx. а объекта формы, например кнопки и т.д, и как "усыновить" IBError, не понимаю???
Почитай таки руководство по тому языку программирования, который ты мучаешь, да ?DenVK писал(а):Уточните, пожалуйста, где это смотреть?kdv писал(а):родственные, поймаешь. см наследование exceptions в ibx.
Насколько я понимаю, если и срабатывает IBerror. то в Application.OnException попадает код ошибки не объекта ibx. а объекта формы, например кнопки и т.д, и как "усыновить" IBError, не понимаю???
Может и терминология перестанет быть такой 'интересной'...
и остальное рассосётся...