Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Проблема с перехватом EOleExeption / 8 сообщений из 8, страница 1 из 1
13.10.2003, 08:58
    #32290905
Igor kirilov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с перехватом EOleExeption
Доброго времени суток. Проблема следующая. Есть форма с ADOQuery в каторой выполняется запрос типа select(ничего сложного в общем в нем нет.)
Есть удаленный сервак MS-SQL 2000 все работает замечательно до какой нить проблемы с сетью. Код проги выглядит следующим образом.

procedure TForm1.Timer1Timer(Sender: TObject);
begin
AssignFile(LogFile, 'SMSLogFile.txt');
Timer1.Enabled := False;
try
ADOQuery1.Open;
...... тут код вывода данных на форму .....
except
on E: EOleException do
begin
Append(LogFile);
Writeln(LogFile, DateTimeToStr(Now) + ' ' + E.Message);
CloseFile(LogFile);
ADOQuery1.Close;
end;
else begin
Append(LogFile);
Writeln(LogFile, DateTimeToStr(Now) + ' Странная ошибка');
CloseFile(LogFile);
ADOQuery1.Close;
end;
Timer1.Enabled := True;
if ADOQuery1.Active = True then ADOQuery1.Close;
end;

И когда появиляется ошибка то программа пишет эту ошибку в Лог-файл до тех пор пока не закрыть программу и открыть заново. А хотелось чтоб этого не требовалось. Посоветуйте кто сталкивался с подобной проблемой как ее победить. Таймер стоит на 5 секунд. Пишу на Dephi 7.
...
Рейтинг: 0 / 0
21.10.2003, 14:26
    #32299919
Igor kirilov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с перехватом EOleExeption
Не ужели никто ничем помочь не может?:(
...
Рейтинг: 0 / 0
21.10.2003, 14:40
    #32299941
bjohny
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с перехватом EOleExeption
А что если так
//глобальная переменная
Var WasExcept:Boolean;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
AssignFile(LogFile, 'SMSLogFile.txt');
Timer1.Enabled := False;
try
ADOQuery1.Open;
...... тут код вывода данных на форму .....
WasExcept:=false;
except
on E: EOleException do
begin
if not WasExcept then
...
WasExcept:=true;
end;
Timer1.Enabled := True;
if ADOQuery1.Active = True then ADOQuery1.Close;
end;
...
Рейтинг: 0 / 0
22.10.2003, 08:56
    #32300690
Igor kirilov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с перехватом EOleExeption
И так пробовал. не помогает. Все равно ошибка выскакиевает. При чем Была ошибка именно на открытии ADOQuery и пошагово когда выполняешь после ошибки повторно выскакивает именно на открытии ADOQuery. Такое ощущение что она ошибку в себе держит и как только идет обращение к ADOQuery не пытаясь коннектится к серваку сразу же ошибку выбрасыват.
...
Рейтинг: 0 / 0
22.10.2003, 09:13
    #32300713
bjohny
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с перехватом EOleExeption
Может прабл строке подключения...
...
Рейтинг: 0 / 0
22.10.2003, 09:40
    #32300747
Igor kirilov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с перехватом EOleExeption
Строку подключения тоже смотрел до и после ошибки.. одинаковая, правильная.
...
Рейтинг: 0 / 0
22.10.2003, 09:49
    #32300760
bjohny
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с перехватом EOleExeption
А если при ошибке сделать реконнект???
...
Рейтинг: 0 / 0
22.10.2003, 10:30
    #32300881
Igor kirilov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с перехватом EOleExeption
и закрывал adoquery и обнулял строку запроса и заново вписывал. ошибка и все. но апосля перезагрузки проги все нормально
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Проблема с перехватом EOleExeption / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]