Форум: "Базы";
Текущий архив: 2005.01.16;
Скачать: [xml.tar.bz2];
ВнизПроблема дисконнекта в InterBase6.5 Найти похожие ветки
← →
GekaNaz © (2004-12-07 10:27) [0]Помогите пожалуйста ! недавно в форуме откопал статью автор: Ivan_Ra, где описано как исправить исходники, чтобы при обрыве каннекта(от удалённого сервера), не происходило зависание программы...
В итоге : исправил исходники, а скомпилировать не могу: пишет , что один из модулей был скомпилирован с другой версией другого (используемого модуля).. как быть ?
← →
GekaNaz © (2004-12-07 11:45) [1]Как скомпилировать исправленные исходники InterBase ??? подскажите пожалуйста !
← →
ЮЮ © (2004-12-07 11:48) [2]и его перекомпили :)
← →
Johnmen © (2004-12-07 12:16) [3]Если исходники InterBase, то обращайся к сишникам.
Если исходники компонент доступа к IB, то удали все дку"шки, потом скомпилируй проект.
← →
GanibalLector © (2004-12-07 12:54) [4]статья ивана_ра не рабочая.На ibase.ru найди еще одну...вот по ней и действуй.Я по ней творил...все заработало!Успехов.
З.Ы. А с Иваном_РА сидел неделю...так нифига и не получилось :(
← →
GanibalLector © (2004-12-07 12:58) [5]У тя Д7,а там,по слухам все исправленно.Проверь!Я делал для Д5,вот там,действительно был обрыв с AV
← →
GekaNaz © (2004-12-07 17:36) [6]для GanibalLector © (07.12.04 12:54) [4]
поискал, но не могу найти , если не сложно, напиши как называется тема или статья, или лучше ссылку закинь, буду очень благодарен ...
а на счет Д7, так прога колом встаёт, и больше не хочет работать после дисконнекта :(
← →
GanibalLector © (2004-12-08 01:15) [7]http://ibase.ru/fibc/ibx_disc.htm
← →
GekaNaz © (2004-12-09 10:48) [8]Спасибо,
сделал, скомпилил,
только вот теперь не могу стартануть транзакцию после дисконнекта
говорит, что хост принудительно разорвал соединение
← →
GekaNaz © (2004-12-09 10:52) [9]после выделенной строки (функция Call) происходит ошибка , при попытке стартануть транзакцию,
чтобы приконнектиться к базе я делаю так :
Database.Connected:=false;
Database.Connected:=true;
Transaction.StartTransaction;
//===========================================
procedure TIBTransaction.StartTransaction;
var
pteb: PISC_TEB_ARRAY;
TPB: String;
i: Integer;
begin
CheckNotInTransaction;
CheckDatabasesInList;
for i := 0 to FDatabases.Count - 1 do
if FDatabases[i] <> nil then
begin
with TIBDatabase(FDatabases[i]) do
if not Connected then
if StreamedConnected then
begin
Open;
StreamedConnected := False;
end
else
IBError(ibxeDatabaseClosed, [nil]);
end;
if FTRParamsChanged then
begin
FTRParamsChanged := False;
GenerateTPB(FTRParams, TPB, FTPBLength);
if FTPBLength > 0 then
begin
IBAlloc(FTPB, 0, FTPBLength);
Move(TPB[1], FTPB[0], FTPBLength);
end;
end;
pteb := nil;
IBAlloc(pteb, 0, DatabaseCount * SizeOf(TISC_TEB));
try
for i := 0 to DatabaseCount - 1 do if Databases[i] <> nil then
begin
pteb^[i].db_handle := @(Databases[i].Handle);
pteb^[i].tpb_length := FTPBLength;
pteb^[i].tpb_address := FTPB;
end;
//Здесь он и запарывается :(
if Call(isc_start_multiple(StatusVector, @FHandle,
DatabaseCount, PISC_TEB(pteb)), False) > 0 then
begin
FHandle := nil;
IBDataBaseError;
end;
if not (csDesigning in ComponentState) then
MonitorHook.TRStart(Self);
finally
FreeMem(pteb);
end;
end;
← →
GanibalLector © (2004-12-09 13:30) [10]>Только вот теперь не могу стартануть транзакцию после дисконнекта говорит, что хост принудительно разорвал соединение
Тут я тебе не помошник.Я при обрыве выводил сообщение юзеру и закрывал программу.
← →
GekaNaz © (2004-12-09 18:16) [11]ну может кто-нить шарит ??? подскажите плиз, как избавиться от этой проблемы ???
← →
GekaNaz © (2004-12-11 15:19) [12]Кто разбирается в исходниках ? или механизме работы InterBase ?
Я уверен, что я не единственный, кто столкнулся с такой проблемой ...
← →
GanibalLector © (2004-12-11 16:29) [13]Кстати,а чем тебя не устраивает [10]?Закрыл и все...Ведь могут сервак выключить.Что тогда?
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2005.01.16;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.038 c