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

Вниз

Еще раз о BDE   Найти похожие ветки 

 
Дмитрий К.К.   (2003-03-18 06:29) [0]

Вопрос к MsGuns, А.П. и другим специалистам по BDE.

Как известно даже начинающему, разрабатывающему приложения для работы с БД, если программа использует BDE, то и на любой другой станции, на которой будет запущена эта программа, тоже должен быть установлен BDE. В противном случае выскочит ошибка 2104 (сообщение о том, что BDE неинициализирован).

Вопрос в другом. Как опередить это сообщение и выдать свое собственное (вроде "Установите предварительно BDE")?


 
ЮЮ   (2003-03-18 07:11) [1]

2)в try ... exept выполнить какую-либо API-функцию БДЕ, например динамически создать алиас


 
Виталий Панасенко   (2003-03-18 08:38) [2]

Или в том же try ... except попытатся открыть таблицу или подключиться к БД.


 
ЮЮ   (2003-03-18 08:46) [3]

> открыть таблицу или подключиться к БД.
Ошибка возможна из-за таблиц, а не BDE


 
Reindeer Moss Eater   (2003-03-18 08:46) [4]

>Виталий Панасенко
Можно подумать, что если не подключаться к БД, то и исключения не не будет.


 
Kuusiniemi   (2003-03-18 10:08) [5]

Ээээ... не надо извращаться, господа. Есть такая функция dbiInit называется. Если верить F1, то она вернет DBIERR_NONE, если The BDE environment was initialized successfully.


 
MsGuns   (2003-03-18 10:40) [6]

Есть класс EDBEngineError, св-во которого Errors содержит объект TDBError, в котором в виде стэка хранятся все ошибки доступа
У этого же класса есть методы, один из которых, Exception, и позволяет самаму "инициировать" нужную ошибку.


 
Reindeer Moss Eater   (2003-03-18 11:39) [7]

EDBEngineError генерится из недр БДЕ.
Нет на машине БДЕ - некому будет генерить EDBEngineError.


 
MsGuns   (2003-03-18 12:03) [8]

>Reindeer Moss Eater (18.03.03 11:39)
>EDBEngineError генерится из недр БДЕ.

Генерится его значение, а как класс он "генерится" в приложении.
Так вот, сам объект TDBError имеет св-ва Category, SubCode и ErrorCode (Category + SubCode). Все эти ошибки определены как глобальные константы. В частности, в Category=SYSTEM есть
ERRCODE_DBIERR_NOCONFIGFILE ($2104) - нет BDE
ERRCODE_DBIERR_CANTFINDIDAPI ($2108) - не найден IDAPI.dll





 
Дмитрий К.К.   (2003-03-19 08:12) [9]

К сожалению, не могу проверить свой код, на моей машине установлен BDE, а сносить его (даже временно) пока не имею возможности.
Я помню, что приложение, использующее TTable, но не открывающее его, ошибку инициализации BDE выдавать не будет.

Вот этот мой код точен?

procedure TForm1.FormCreate(Sender: TObject);
begin
try
Table1.Open;
except
on EDBEngineError do ShowMessage("Нетуть BDE!");
end;
end;


 
Anatoly Podgoretsky   (2003-03-19 15:06) [10]

Сносить не надо, переименуй временно папку с БДЕ


 
MsGuns   (2003-03-19 15:18) [11]

>Дмитрий К.К. © (19.03.03 08:12)

Точен так же как диагноз терапевта:
- Что-то у вас, молодой человек, не в порядке со здоровьем. Надо вам к специалисту !



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

Форум: "Базы";
Текущий архив: 2003.04.07;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.009 c
3-19504
melavcorp
2003-03-20 11:01
2003.04.07
DBImage и format JPEG


3-19441
aleksey_sv
2003-03-18 15:42
2003.04.07
DBGrid и CheckBox


1-19647
Opera
2003-03-25 19:16
2003.04.07
Определение


3-19484
spogi
2003-03-19 12:58
2003.04.07
v Paradox ne integer a real, ili float. ctobi...


1-19592
ewgeny
2003-03-27 10:41
2003.04.07
указатель на структуру





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский