powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Проблема с перехватом EOleExeption
8 сообщений из 8, страница 1 из 1
Проблема с перехватом EOleExeption
    #32290905
Igor kirilov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго времени суток. Проблема следующая. Есть форма с 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
Проблема с перехватом EOleExeption
    #32299919
Igor kirilov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не ужели никто ничем помочь не может?:(
...
Рейтинг: 0 / 0
Проблема с перехватом EOleExeption
    #32299941
bjohny
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А что если так
//глобальная переменная
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
Проблема с перехватом EOleExeption
    #32300690
Igor kirilov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
И так пробовал. не помогает. Все равно ошибка выскакиевает. При чем Была ошибка именно на открытии ADOQuery и пошагово когда выполняешь после ошибки повторно выскакивает именно на открытии ADOQuery. Такое ощущение что она ошибку в себе держит и как только идет обращение к ADOQuery не пытаясь коннектится к серваку сразу же ошибку выбрасыват.
...
Рейтинг: 0 / 0
Проблема с перехватом EOleExeption
    #32300713
bjohny
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может прабл строке подключения...
...
Рейтинг: 0 / 0
Проблема с перехватом EOleExeption
    #32300747
Igor kirilov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Строку подключения тоже смотрел до и после ошибки.. одинаковая, правильная.
...
Рейтинг: 0 / 0
Проблема с перехватом EOleExeption
    #32300760
bjohny
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А если при ошибке сделать реконнект???
...
Рейтинг: 0 / 0
Проблема с перехватом EOleExeption
    #32300881
Igor kirilov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
и закрывал adoquery и обнулял строку запроса и заново вписывал. ошибка и все. но апосля перезагрузки проги все нормально
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Проблема с перехватом EOleExeption
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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