Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2003.03.31;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.007 c
1-100216
jen_bond
2003-03-18 14:04
2003.03.31
Работа с изображением


1-100296
andrey_pst
2003-03-19 15:07
2003.03.31
Синхронная прокрутка двух RichEdit.


1-100269
Big_Rom
2003-03-19 07:13
2003.03.31
Fastreport


1-100206
Seldon
2003-03-19 21:36
2003.03.31
TIniFile


7-100487
Reals
2003-02-06 17:07
2003.03.31
Как защитить свою программу от закрытия





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский