Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Проблемы - снова ADO выгружается на 30-м разе. [D5]


BS ©   (2002-07-18 10:29:00) 

к примеру такой код

var exqurery:TAdoquery;
begin
exquery:=tadoquery.create(nil);
exquery.connectionstring({строка подключения});
exquery.sql.clear;
exquery.sql.add({Инструкция SQL});
...
exquery.free;

После 30-го (или иногда меньше) раза использования процедуры с таким кодом возникает ошибка, даже если инструкция SQL одна и та же. С чем бы это могло быть связано?
Спасибо.


BS   (2002-07-18 11:15:00) [1]

Спасибо попытаюсь.


sniknik   (2002-07-18 11:14:00) [2]

да в общем не военная тайна, я вот такой связкой пользуюсь но это зависит от того что используеш
их на самом деле гораздо больше, чуть ли не все вызывает свои исключения :-)

try
......
except
on E: EADOError do ErrMessage:= E.Message;
on E: EOleException do ErrMessage:= E.Message;
on E: EDataBaseError do ErrMessage:= E.Message;
else ErrMessage:= "Неопределенная ошибка!";
end;


BS   (2002-07-18 11:08:00) [3]

А как узнать , что за ошибка черкни код как определять ошибки - если не трудно.


sniknik   (2002-07-18 11:05:00) [4]

так ты хоть увидиш конкретно что за ошибка. и будеш действовать соответственно. попробуй чего теряеш.
можно еще вместо create(nil) попробовать create(self), или это принципиально?


BS   (2002-07-18 10:54:00) [5]

Вопрос к сожалению не в обработчике ошибок, я могу его написать, а в том почему возникает ошибка. Можно, конечно, поместить Адошку на форму и не уничтожать каждый раз - проблема исчезнет, но согласись нужно выяснить в чем же причина.


sniknik   (2002-07-18 10:47:00) [6]

перепиши код вот так, проблеммы это скорей всего не решит но это будет более .. правильно.
try
exquery:=tadoquery.create(nil);
try
exquery.connectionstring({строка подключения});
exquery.sql.clear;
exquery.sql.add({Инструкция SQL});
...
except
on Err......
end;
finally
exquery.free;
end;


Наверх

Титульная страница Поиск, карта сайта Написать письмо