Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Базы данных и репортинг > exe-к


Автор: SuperLamer 28.1.2006, 17:21
Господа, помогите, пожалуйста:
Создал БД Paradox на Delphi 7 у меня на компе работает. Я даже exe-ки переносил (отдельно) в другие папки, винты - работает.
Как только переношу файл exe-ка и файл таблицы.db на другой ПК, появляются ошибки: типа "ненайдена таблица" вобщем что-то с BDE (похоже у них её нет).
Подключение делал через BDE, использовал компоненты Query1, Table1, DataSource1 - все подключил правильно (ведь у меня работает).
Может подскажите, пожалуйста, как можно сделать чтобы только exe-к (ну или + еще нужные файлы для базы [таблицы...]), т.е готовая прогамма без исходников (мне для кафедры в универе надо, а там наверое незнаю даже что такое Delphi или BDE) переносить на другие ПК?
Какие файлы ( из:dof,ddp,~dpp,dcu,pas,~pas,dfm,db,dpr,~dpr,~dfm,dof,res,cfg) обязательны в БД вместе с exe-ком.
Спасибо!

Автор: DemoCode 28.1.2006, 17:39
Сделай инсталлятор борландским InstallShield, и укажи там, чтоб он включил файлы BDE.

Цитата(SuperLamer @ 28.1.2006, 18:21 Найти цитируемый пост)

Какие файлы ( из:dof,ddp,~dpp,dcu,pas,~pas,dfm,db,dpr,~dpr,~dfm,dof,res,cfg) обязательны в БД вместе с exe-ком.

Из этих никакие. Нужны дллки от BDE.

Автор: Bes 7.2.2006, 09:59
Вариант:
работать с *.mdb-шкой и цеплятся через АДО - ничего "доустанавливать" не надо

Автор: bas 7.2.2006, 10:13
http://forum.sources.ru/index.php?showtopic=38353

Автор: Albinos_x 8.2.2006, 04:20
Код
...
uses
 DBierrs;

type
    tDllRegisterServer = function : HResult; stdcall;

   function BDEInstalled: Boolean;
   procedure BDEInst(name:string);

var
  h : integer;
  regserv: tDllRegisterServer;

...
function BDEInstalled: Boolean;
begin
Result := (dbiInit(nil) = 0);
end;

procedure BDEInst(name:string);
begin
if not BDEInstalled then
   begin
   if fileexists(ExtractFilePath(Name)+'bdeinst\BdeInst.dll') then
      begin
      MessageDlg('ОШИБКА: Borland Database Engine (IDAPI) не найдена' + #13+
                 'Будет выполнена её установка...', mtError, [mbOK], 0);
   h:=loadlibrary(Pchar(ExtractFilePath(Name)+'bdeinst\BdeInst.dll'));
   if h=0 then halt;
   @regserv := GetProcAddress ( h, 'DllRegisterServer' );
   regserv;
   freelibrary(h);
   end;
   if not BDEInstalled then
      begin
      MessageDlg('ОШИБКА: Borland Database Engine (IDAPI) не найдена' + #13+
                 'перед следующей попыткой ее необходимо установить....',mtError, [mbOK], 0);
      halt;
      end;
   end;
end;
...


использование:
Код
...
{$R *.res}

begin
  Application.Initialize;
  BDEInst(Application.ExeName);
  Application.CreateForm(TForm1, Form1);
...


BdeInst.dll находится в cab-архиве (bdeinst.cab) в папке, куда делфи установила BDE.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)