Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проблеммы с установкой BDE. Возникновение ошибки 
:(
    Опции темы
ss18
Дата 15.12.2006, 11:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 30
Регистрация: 15.11.2006

Репутация: нет
Всего: нет



При установке своего ПО на "чистую" от BDE маштну возникала ошибка $2108 - Cannot locate IDAPI32.DLL. И это закономерно, т.к. на машине небыла установлена BDE. 
После захода по ссылке 

Как установить BDE

я решил установить DBE програмно и из приведенного кода для установки BDE и регистрации нового Alias просто вычленил часть кода и предположил, что этого будет достаточно. Код ориентированный на установку BDE  в моей программе выгляди так:

Код

unit Create;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, XPMan, StdCtrls, Buttons, Registry, ExtCtrls;

type
  TForm1 = class(TForm)
    BitBtn1: TBitBtn;
    XPManifest1: TXPManifest;
    Memo1: TMemo;
    RadioButton1: TRadioButton;
    RadioButton2: TRadioButton;
    Bevel1: TBevel;
    procedure BitBtn1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  CurrDir:string;

implementation

{$R *.dfm}

procedure TForm1.BitBtn1Click(Sender: TObject);
const
    SubKey:string='SOFTWARE\Borland';
var
   Reg:TRegistry;
begin
    Reg:=TRegistry.Create;
    With Reg do
       begin
           RootKey:=HKEY_LOCAL_MACHINE;
           OpenKey(SubKey+'\Database Engine', true);
           WriteString('CONFIGFILE01',CurrDir+'IDAPI32.CFG');
           WriteString('DLLPath',CurrDir);
           WriteString('RESOURCE','0009');
           WriteString('SaveConfig','WIN32');
           WriteString('UseCount','1');
           CloseKey;
           OpenKey(SubKey+'\BLW32', True);
           WriteString('BLAPIPATH',CurrDir);
           if RadioButton1.Checked=true then
             begin
                 WriteString('LOCALE_LIB3',CurrDir+'OTHER.BTL');
                 WriteString('LOCALE_LIB4',CurrDir+'CHARSET.CVB');
             end;
           CloseKey;
           OpenKey(SubKey+'\Database Engine\Settings\System\INIT', true);
           WriteString('AUTO ODBC', 'false');
           WriteString('DATA REPOSITORY','');
           WriteString('DEFAULT DRIVER','PARADOX');
           WriteString('LANGDRIVER', 'DBWINUS0');
           WriteString('LOCAL SHARE','FALSE');
           WriteString('LOW MEMORY USAGE LIMIT', '32');
           WriteString('MAXBUFSIZE','2048');
           WriteString('MAXFILEHANDLES','48');
           WriteString('MEMSIZE','16');
           WriteString('MINBUFSIZE','128');
           if RadioButton1.Checked=true then
             begin
                  WriteString('MTS POOLING','false');
             end;
           WriteString('SHAREDMEMLOCATION', '');
           WriteString('SHAREDMEMSIZE','2048');
           WriteString('SQLQRYMODE','');
           WriteString('SYSFLAGS', '0');
           WriteString('VERSION', '4.0');
           CloseKey;
           OpenKey(SubKey+'\Database Engine\Settings\SYSTEM\FORMATS\DATE',True);
           WriteString('FOURDIGITYEAR', 'TRUE');
           WriteString('LEADINGZEROD', 'FALSE');
           WriteString('LEADINGZEROM', 'FALSE');
           WriteString('MODE', '0');
           WriteString('SEPARATOR', '.');
           WriteString('YEARBIASED', 'TRUE');
           CloseKey;
           OpenKey(SubKey+'\Database Engine\Settings\SYSTEM\FORMATS\NUMBER', true);
           WriteString('DECIMALDIGITS', '2');
           WriteString('DECIMALSEPARATOR', ',');
           WriteString('LEADINGZERON', 'TRUE');
           WriteString('THOUSANDSEPARATOR', '');
           CloseKey;
           OpenKey(SubKey+'\Database Engine\Settings\SYSTEM\FORMATS\TIME', true);
           WriteString('AMSTRING', 'AM');
           WriteString('MILSECONDS', 'FALSE');
           WriteString('PMSTRING', 'PM');
           WriteString('SECONDS', 'TRUE');
           WriteString('TWELVEHOUR', 'TRUE');
           CloseKey;
           OpenKey(SubKey+'\Database Engine\Settings\REPOSITORIES', true);
           CloseKey;
           OpenKey(SubKey+'\Database Engine\Settings\DRIVERS\PARADOX\INIT', true);
           WriteString('LANGDRIVER', 'ancyrr');
           WriteString('TYPE', 'FILE');
           WriteString('VERSION', '4.0');
           CloseKey;
           OpenKey(SubKey+'\Database Engine\Settings\DRIVERS\PARADOX\TABLE CREATE', true);
           WriteString('BLOCK SIZE', '4096');
           WriteString('FILL FACTOR', '95');
           WriteString('LEVEL', '7');
           WriteString('STRICTINTEGRTY', 'TRUE');
           CloseKey;
       end;
       Reg.Free;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
    CurrDir:=GetCurrentDir+'\BDE\';
end;

end.


При его использовании пусковой файл должен находиться в папке с вложенной папкой BDE собственно где располагаются файлы этой технологии.

Далее по файлам. В тексте ссылки было написано следующее:

Код

{ 
Программа иллюстрирует, как установить BDE с поддержкой PARADOX 7.0 
на "чистой машине" и создать алиас. 
Пример использования в качестве простейшего инсталлятора для программы 
C:\MyDir\MyProg.exe 
1.Создайте каталог C:\MyDir\BDE и скопируйте в него след. файлы: 
CHARSET.BLL 
OTHER.BLL 
IDAPI32.CFG 
BLW32.DLL 
IDAPI32.DLL 
IDBAT32.DLL 
IDPDX32.DLL 
IDR20009.DLL 
IDSQL32.DLL 
BDEADMIN.EXE - по вкусу, т.к. необходимым не является. 
2.Измените значение константы AliasName на имя необходимого вам алиаса. 
3.Откомпиллируйте и запустите эту программу из каталога C:\MyDir. 
ВHИМАHИЕ!!! Если на машине уже установлено BDE, то перед экспериментами 
сохраните (на всякий случай) след. ключи из реестра: 
[HKEY_LOCAL_MACHINE\SOFTWARE\Borland\Database Engine] и 
[HKEY_LOCAL_MACHINE\SOFTWARE\Borland\BLW32]. 
}


Насколько я понял (извиняюсь за глупость, но пишу для более четкого понимания) файлы нужно 
копировать из папки BDE созданной при установке Delphi на твой компьютер. Дак вот там, в моей BDE, файлов 
  • CHARSET.BLL
  • OTHER.BLL

не  было, а были
  • CHARSET.cvb
  • OTHER.btl

Я перенес на клиентскую машину файлы не с указанным расширением, а свои файлы. Остальные файлы из списка у меня на машине существую и, согласно примеру, я перенес их на машину клиента.

В итоге, после использования программы, код которой указан выше в вопросе, я вместо ошибки $2108 получил код ошибки $3E06 - Cannot load language driver 

An error while attempting to initialise the Borland Database Engine (error $3E06)

Большая просьба от начинающего, помочь.
PM MAIL   Вверх
Sansa
Дата 20.12.2006, 16:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 173
Регистрация: 18.10.2006
Где: Королев

Репутация: 2
Всего: 6



Для Nullsoft Installation System написаны функции и плагины в помощь установки BDE
--------------------
- Здравствуйте, я Ваш патологоанатом
PM MAIL ICQ   Вверх
Akella
Дата 21.12.2006, 15:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 29
Всего: 329



PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Обязательно указание:

1. Базы данных (Paradox, Oracle и т.п.)

2. Способа доступа (ADO, BDE и т.д.)


  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • Вопросы по SQL и вопросы по базам данных не связанные с Дельфи задавать здесь

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема »


 




[ Время генерации скрипта: 0.0469 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.