Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Приложение с базой данных использующей BDE, Что делать тем у кого не стоит Delphi 
:(
    Опции темы
Jey_k
Дата 16.9.2004, 11:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


WEB-командир
****


Профиль
Группа: Комодератор
Сообщений: 4149
Регистрация: 16.11.2003
Где: Москва

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



Пишу прогу для одной службы. У меня все работает, а у них нет, поскольку BDE у них отсутствует. Его можно отдельно установить?


--------------------
PM MAIL WWW   Вверх
_hunter
Дата 16.9.2004, 11:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

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



самый простой способ -- InstallShield Express ( он в поставку delphi входит )


--------------------
Tempora mutantur, et nos mutamur in illis...
PM ICQ   Вверх
Jey_k
Дата 16.9.2004, 12:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


WEB-командир
****


Профиль
Группа: Комодератор
Сообщений: 4149
Регистрация: 16.11.2003
Где: Москва

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



_hunter
а причем он здесь? Это вроде прога для создания инсталлях. Я понимаю что нужно будет BDE и сам проект в одну инталляху запихать, только где взять дистриб самого BDE, он в дистрибе Delphi отдельно лежит?



--------------------
PM MAIL WWW   Вверх
_hunter
Дата 16.9.2004, 12:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

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



нет. просто в IS есть куча модулей ( насколько я помню среди них есть BDE )


--------------------
Tempora mutantur, et nos mutamur in illis...
PM ICQ   Вверх
Jey_k
Дата 16.9.2004, 12:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


WEB-командир
****


Профиль
Группа: Комодератор
Сообщений: 4149
Регистрация: 16.11.2003
Где: Москва

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



_hunter
Гляну. А выдрать из IS дистриб BDE никак?



--------------------
PM MAIL WWW   Вверх
_hunter
Дата 16.9.2004, 12:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

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



не знаю -- не пробовал
но по-идее все эти модули -- просто ехе-шники -- т.е. где-то они лежать должны


--------------------
Tempora mutantur, et nos mutamur in illis...
PM ICQ   Вверх
Ptica
Дата 16.9.2004, 14:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Не помню точно, но я в свое время делал инсталл БД с помощью IS для 3-го Дельфи, так в ходе этого процесса IS спрашивал, нужно ли включать BDE, или нет. И я тогда взял, да и сделал инсталл, в который ничего больше, кроме BDE, не поместил. И был у меня таким образом инсталл BDE. А вообще можно поискать по диску файл bdeadmin.exe. Где этот файл, там и установленное BDE лежит. Но его все равно, по-моему, придется прописывать в реестре, так что лучше всего пользоваться IS.
...вот еще только что случайно нашел на сайте dimas-page.narod.ru:
Цитата

Как запустить базу без установленного на машине BDE?

Без BDE программу запустить нельзя, но есть выход. Лучше всего пользоваться InstallShield-ом или Wise Installer-ом для создания инсталляшек твоей проги. А вообще скопируй следующие файлы в катаог своей программы:

для Paradox-таблиц:
blw32.dll
idapi32.dll
idr20009.dll
idpdx32.dll

для DBF-таблиц:
iddbas32.dll
bantam.dll
charset.cvb
usa.btl

В этом случае тебе необходимо задать пути к базе не через псевдонимы, а через путь к таблице на диске.


Это сообщение отредактировал(а) Ptica - 16.9.2004, 14:41
PM MAIL   Вверх
Alex
Дата 16.9.2004, 17:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 4147
Регистрация: 25.3.2002
Где: Москва

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





--------------------
Написать можно все - главное четко представлять, что ты хочешь получить в конце. 
PM Skype   Вверх
Illusion Dolphin
Дата 16.9.2004, 18:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Вот как я делаю в своей программе.
а) определяем, есть ли BDE, и если нет, то ставим его
Код


type
 tDllRegisterServer = function : HResult; stdcall;

var h : integer;
 regserv: tDllRegisterServer;

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

......

 if not BDEInstalled then
 begin
  if fileexists(ProgramDir+'\BdeInst.dll') then
  begin
   MessageDlg('ОШИБКА: Borland Database Engine (IDAPI) не найдена' + #13+
   'Будет выполнена её установка...',
   mtError, [mbOK], 0);
   h:=loadlibrary(Pchar(ProgramDir+'\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;

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

P.S. Это всё можно сделать в самом простом случае в главном файле проекта.
Добавлено @ 18:14
P.P.S. Пользуемся поиском:
http://forum.vingrad.ru/index.php?act=Sear...cs&highlite=bde


--------------------
В мире всего две бесконечности: вселенная и человеческая глупость... На счёт вселенной я не уверен.
Шифрование и организация фотографий - Photo Database 4.5
PM MAIL WWW ICQ   Вверх
Jey_k
Дата 17.9.2004, 09:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


WEB-командир
****


Профиль
Группа: Комодератор
Сообщений: 4149
Регистрация: 16.11.2003
Где: Москва

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



Цитата(Illusion @ 16.9.2004, 18:13)
dbiInit

Не понимает Дельфя эту весчь...
Добавлено @ 09:18
Unit2.pas(40): Comparing signed and unsigned types - widened both operands
Добавлено @ 09:19
Unit2.pas(40): Undeclared identifier: 'dbiInit'


--------------------
PM MAIL WWW   Вверх
Ripper
Дата 17.9.2004, 14:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Lonely soul...
**


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

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



Может это?
Код

program InstallPrfSt;

{
Программа иллюстрирует, как установить 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].
}

{$APPTYPE CONSOLE}
uses
Windows, BDE, Registry;

const
AliasName: string = 'PrefStat';

var
R: DBIResult;
Path: string;

procedure WriteString(S1:string);
begin
S1 := S1 + #0;
AnsiToOem(@S1[1], @S1[1]);
writeln(S1);
end;

function GetExePath(S1:string):string;
var
I, K :Integer;
S: string;
begin
K := 1;
S := '';
for I := Length(S1) downto 1 do
begin
if S1[I] = '\' then
begin
 K := I;
 Break;
end;
end;

for I := 1 to K - 1 do
S := S + S1[I];

Result:=S;
end;

procedure InstallBde;
const
Bor: string = 'SOFTWARE\Borland';
var
a: TRegistry;
BPath: string;
begin
BPath:=PATH + '\BDE';
a := TRegistry.Create;
with a do
begin
RootKey := HKEY_LOCAL_MACHINE;
OpenKey(Bor + '\Database Engine', True);
WriteString('CONFIGFILE01', BPath+'\IDAPI32.CFG');
WriteString('DLLPATH', BPath);
WriteString('RESOURCE', '0009');
WriteString('SaveConfig', 'WIN32');
WriteString('UseCount', '2');
CloseKey;
OpenKey(Bor+'\BLW32',True);
WriteString('BLAPIPATH', BPath);
WriteString('LOCALE_LIB3', BPath+'\OTHER.BLL');
WriteString('LOCALE_LIB4', BPath+'\CHARSET.BLL');
CloseKey;
OpenKey(Bor+'\Database Engine\Settings\SYSTEM\INIT',True);
WriteString('AUTO ODBC', 'FALSE');
WriteString('DATA REPOSITORY', '');
WriteString('DEFAULT DRIVER', 'PARADOX');
WriteString('LANGDRIVER', 'ancyrr');
WriteString('LOCAL SHARE', 'FALSE');
WriteString('LOW MEMORY USAGE LIMIT', '32');
WriteString('MAXBUFSIZE', '2048');
WriteString('MAXFILEHANDLES', '48');
WriteString('MEMSIZE', '16');
WriteString('MINBUFSIZE', '128');
WriteString('SHAREDMEMLOCATION', '');
WriteString('SHAREDMEMSIZE', '2048');
WriteString('SQLQRYMODE', '');
WriteString('SYSFLAGS', '0');
WriteString('VERSION', '1.0');
CloseKey;
OpenKey(Bor+'\Database Engine\Settings\SYSTEM\FORMATS\DATE',True);
WriteString('FOURDIGITYEAR', 'TRUE');
WriteString('LEADINGZEROD', 'FALSE');
WriteString('LEADINGZEROM', 'FALSE');
WriteString('MODE', '1');
WriteString('SEPARATOR', '.');
WriteString('YEARBIASED', 'TRUE');
CloseKey;
OpenKey(Bor+'\Database Engine\Settings\SYSTEM\FORMATS\NUMBER',True);
WriteString('DECIMALDIGITS', '2');
WriteString('DECIMALSEPARATOR', ',');
WriteString('LEADINGZERON', 'TRUE');
WriteString('THOUSANDSEPARATOR', ' ');
CloseKey;
OpenKey(Bor+'\Database Engine\Settings\SYSTEM\FORMATS\TIME',True);
WriteString('AMSTRING', 'AM');
WriteString('MILSECONDS', 'FALSE');
WriteString('PMSTRING', 'PM');
WriteString('SECONDS', 'TRUE');
WriteString('TWELVEHOUR', 'TRUE');
CloseKey;
OpenKey(Bor+'\Database Engine\Settings\REPOSITORIES',True);
CloseKey;
OpenKey(Bor+'\Database Engine\Settings\DRIVERS\PARADOX\INIT',True);
WriteString('LANGDRIVER', 'ancyrr');
WriteString('TYPE', 'FILE');
WriteString('VERSION', '1.0');
CloseKey;
OpenKey(Bor+'\Database Engine\Settings\DRIVERS\PARADOX\TABLE
  CREATE',True);
WriteString('BLOCK SIZE', '4096');
WriteString('FILL FACTOR', '95');
WriteString('LEVEL', '7');
WriteString('STRICTINTEGRTY', 'TRUE');
CloseKey;
end;
a.Free;
end;

begin
Path:=GetExePath(ParamStr(0));
R:=dbiInit(nil);
if R<>DBIERR_NONE then
begin
WriteString('Инициализация BDE ...');
InstallBDE;
end;
R:=dbiInit(nil);
if R=DBIERR_NONE then
begin
WriteString('Инициализация BDE прошла успешно');
DbiDeleteAlias(nil, PChar(AliasName));
R:=DbiAddAlias(nil, PChar(AliasName), szPARADOX,
PChar('PATH:'+Path+'\DB'), True);
if R=DBIERR_NONE then
 WriteString('Псевдоним "'+AliasName+'" создан')
else
 WriteString('Ошибка создания псевдонима "'+AliasName+'"');
R:=DbiCfgSave(nil, nil, Bool(-1));
if R=DBIERR_NONE then
 WriteString('Файл конфигурации сохранён')
else
 WriteString('Ошибка сохранения файла конфигурации');
DbiExit;
end
else
WriteString('Ошибка инициализации BDE');
end.

Это вроде пегас писал на форуме...


--------------------
"Он знает: надо смеяться над тем, что тебя мучит, иначе не сохранишь равновесия, иначе мир сведет тебя с ума" - Над кукушкиным гнездом
PM MAIL ICQ   Вверх
Chyslyvchyk
Дата 17.9.2004, 15:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



В свое время пришлось очень намучаться с Парадоксовскими базами, теперь пользуюсь только Absolute Database. Удобно, так как база не привязана алиясами и можно скинуть *.exe проекта с папкой де есть база на дискетку, перенести на другой комп и усе будет работать.


--------------------
Простота - сестра таланта!
PM MAIL   Вверх
Illusion Dolphin
Дата 17.9.2004, 16:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Цитата
Unit2.pas(40): Undeclared identifier: 'dbiInit'

Добавь модули DbiProcs, DbiErrs, DbiTypes... один из них тот самый, где есть эта функция...


--------------------
В мире всего две бесконечности: вселенная и человеческая глупость... На счёт вселенной я не уверен.
Шифрование и организация фотографий - Photo Database 4.5
PM MAIL WWW ICQ   Вверх
Alex
Дата 17.9.2004, 16:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 4147
Регистрация: 25.3.2002
Где: Москва

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



Код
function HaveBdeDrivers : Boolean;
//По наличию драйверов BDE определяет ее присутствие;
var l : TStringList;
begin
  Result := True;
  l := TStringList.Create;
  try
    try
       Session.GetDriverNames(l);
    except
       Result := False;
    end;
 finally
    l.Free;
 end;
end;



--------------------
Написать можно все - главное четко представлять, что ты хочешь получить в конце. 
PM Skype   Вверх
Jey_k
Дата 20.9.2004, 09:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


WEB-командир
****


Профиль
Группа: Комодератор
Сообщений: 4149
Регистрация: 16.11.2003
Где: Москва

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



Цитата(Alex @ 16.9.2004, 17:36)
Установка BDE: http://alex-co.com.ru/interchanger/bde.exe

То что надо! Спасибо!


--------------------
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "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.1427 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


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

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