Моё почтение жителям Королевства и доброго времени суток!
Вопрос заключается в следующем. как программно установить BDE? то есть при запуске программа проверяет установлен ли BDE(что сделать легко, спасибо Жителям Королевства:)) и если не установлен устанавливает его.
Заранее спасибо.
Уважаемые авторы вопросов! Большая просьба сообщить о результатах решения проблемы на этой странице. Иначе, следящие за обсуждением, возможно имеющие аналогичные проблемы, не получают ясного представления об их решении. А авторы ответов не получают обратной связи. Что можно расценивать, как проявление неуважения к отвечающим от автора вопроса.
function BDEInstalled(BdeInstDir: String): Boolean;
var s: String; begin
Result:= (dbiInit(nil) = 0); // BDE установлен? if not Result then begin
s:= BdeInstDir+'/BdeInst.exe'; if FileExists(s) then begin
ShellExecute(0,nil,PChar(s),nil,nil,1);
Result:= true; endelse ShowMessage('Нет файла '+s);
end;
end;
>Q15: Я переписываю BDE-приложение на другой компьютер, а оно
> отказывается работать. Что делать?
A(VS): 1. Использовать инсталляционный пакет, например InstallShield или Wise.
2. Не использовать его. В этом случае нет универсального решения.
Оно будет варьироваться в зависимости от использования BDE в локальном или
серверном режиме, для доступа к Paradox- или DBF-таблицам, использования
локального SQL, версии BDE, и так далее... Здесь приведен пример для наиболее
общего варианта - пятая версия BDE, локальные таблицы, без использования
локального SQL, стандартная кодировка ANSI:
Нужно добавить следующие файлы из папки BDE к вашему исполняемому модулю:
blw32.dll, idapi32.dll, idr20009.dll, idpdx32.dll для Paradox-таблиц или
iddbas32.dll для DBF-таблиц, bantam.dll, charset.cvb, usa.btl
Доступ к таблицам надо настроить не через псевдонимы (alias'ы), а через пути в
файловой системе. В идеале все таблицы храните в папке программы, тогда нужно
только указать имя таблицы без пути.
Приготовленный таким образом дистрибутив запускается на любой машине без
необходимости инсталляции BDE, максимально устойчив и нечувствителен к смене
имен папок/переинсталляции системы/порчи реестра/влиянии на другие
BDE-приложения. Добавка к основному модулю составляет для этих семи
dll-библиотек ~1030 КБ, после упаковки ~470 КБ.
Если вы заметили орфографическую ошибку на этой странице, просто выделите ошибку мышью и нажмите Ctrl+Enter. Функция может не работать в некоторых версиях броузеров.