![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как определить ошибку 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);