Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.03.31;
Скачать: CL | DM;

Вниз

Код ошибки   Найти похожие ветки 

 
Sectey ©   (2003-03-13 15:15) [0]

У меня есть текст ошибки "Table cannot be opened for exclusive use." как мне узнать его код. Заранее блогодарен за помощь.


 
Dred2k ©   (2003-03-13 15:24) [1]

Код равен $280D. Это исключение типа EDBEngineError (ошибка BDE). Глянь на него хелп и увидишь, что проперть Errors, потом его ErrorCode сделает тебя счастливым.


 
Sectey ©   (2003-03-13 15:31) [2]

>Dred2k
А где ты взял код данного исключения.
Где посмотрел?


 
Dred2k ©   (2003-03-13 15:50) [3]

> А где ты взял код данного исключения.
Я ж говорю - код ты получишь через объект исключения.
Вызов Open надо взять в конструкцию вида:

try
// ...
Table.Exclusive := True;
Table.Open;
// ...
except
on E : Exception do begin
if(E is EDBEngineError) then begin
// тут
end;
end;
end;


Вот как раз в точке "тут" ты можешь получить доступ к свойствам объекта исключения. Приведи его к типу через "E as TDBEngineError" и спокойно работай. Хелп смотрел на этот тип?
ErrorCount - кол-во ошибок BDE, содержащиеся в рамках данного исключения (ошибки BDE в общем случае каскадные). Скорее всего, их количество в данном случае будет равно 1. Свойство Errors - это массив объектов TDBError. У TDBError есть свои свойства - ErrorCode, например (там еще текст, ...). Вот и вся цепочка. Внимательно изучи хелп и будешь рулить ошибками на раз.

> Где посмотрел?
Так в самой BDE. Для спеццелей пришлось однажды вытянуть ВСЕ описания ошибок, возвращаемых BDE. Дело в том, что по коду ошибки (на самом деле все вызовы BDE возвращают код, а не текст - их обработкой занимается VCL, исключение именно так и появляется) не всегда можно получить текст. Это потому, что есть группа ошибок, указывающих на недоступность самого BDE. Так вот их текст получить при этом из BDE невозможно (его же нет!). Вот я и сделал как-то модуль, содержащий массив всех сообщений по кодам (даже прогу написал, что б модуль этот сгенерить ;) ).
Попутно все стало ясно.



Страницы: 1 вся ветка

Текущий архив: 2003.03.31;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.011 c
1-100235
and_sp
2003-03-18 12:11
2003.03.31
Сравнение каталогов


1-100236
Скворцов Александр
2003-03-20 14:40
2003.03.31
Как остановить работу программы до нажатия кнопки на форме?


8-100335
бобёр
2002-12-20 15:45
2003.03.31
gif-файл


14-100426
Sergy
2003-03-13 12:00
2003.03.31
ftpd.borland.com


3-100143
pa\/el
2003-03-12 10:17
2003.03.31
Экзотическая БД