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

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

Как определить ошибку BDE [D5]


lety ©   (2002-08-03 08:47:00) 

отрывается таблица

try
Table1.Open;
except
on EDBEngineError do
//как дальше определить код ошибки?
//т.е. неверное имя или неверный путь etc
end;

у EDBEngineError есть свойство Errors: TDBError, которое содержит список ошибок, которые находятся в стеке и связаны с базой данных BDE. У TDBError есть свойство ErrorCode, которое и должно определять код ошибки.
Но на

on EDBEngineError do
x:=EDBEngineError.Errors.ErrorCode;

компилятор ругается. Чего не хватает?


Igor E. Timofeev   (2002-08-05 08:31:00) [1]

Это смотря чего ты хочешь сделать.
Если ты хочешь узнать код ошибки, а потом вывести сообщение, то
это можно сделать так, причем сообщение будет стандартное.
try
Table1.Open;
except
onE: EDBEngineError do
raiseException.Create(E. Message);
end;


Jeer   (2002-08-03 13:38:00) [2]

except
on E: EDBEngineError do
if ... then
raise Exception.Create("Error is..") else
raise;

или

if (E as EDBEngineError).Errors[0].Errorcode = eKeyViol then
MessageDlg("Unable to post: Duplicate Customer ID.", mtWarning, [mbOK], 0);


Наверх

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