Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проблема с Paradoks7, Помогите разобраться 
:(
    Опции темы
SASH1987
Дата 28.2.2008, 22:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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






Проблема такая есть прога предназначеная для работы с БД (файл БД Paradoks7). Так вот при  переносе на другой компьютер проги, где не установлен Delphi  она  не работает. Может кто знает как чтобы можно было работать с Пародоксовской БД без установки Delphi. Надеюсь понятно обьяснил.Помогите ПОЖЖАлуста! smile  smile  smile    
PM MAIL   Вверх
Sanchezzz
  Дата 28.2.2008, 23:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1670
Регистрация: 19.11.2006
Где: Voronezh

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



на другом компьютере нужно установить BDE administrator возможно и другая проблема? если не поможет пиши.


--------------------
Понравился ответ "+" по репе, не забываем закрывать тему, заказы в LS.
PM MAIL Skype GTalk   Вверх
SASH1987
Дата 28.2.2008, 23:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



А можно обойтись без него!
PM MAIL   Вверх
Sanchezzz
  Дата 1.3.2008, 19:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1670
Регистрация: 19.11.2006
Где: Voronezh

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



частично можно. что нужно смотреть в разделе FAQ или DRKB


--------------------
Понравился ответ "+" по репе, не забываем закрывать тему, заказы в LS.
PM MAIL Skype GTalk   Вверх
Akella
Дата 4.3.2008, 10:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


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

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



ищи здесь, на форуме, инсталляху BDE
PM MAIL   Вверх
SASH1987
Дата 4.3.2008, 21:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



С посибо всем за совет, но мы с товарищем нашли более простой способ. Берем 4 dll-ки и встовляем в проект

Вот они:

bantam.dll
idapi32.dll
idpdx32.dll
idr20009.dll

ВСЕ РАБОТАЕТ ПРОВЕРЕНО (проверял у дрезей, у знакомых, где даже отродясь Делфи небыло) smile 

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


Новичок



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

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



Цитата(SASH1987 @ 4.3.2008,  21:08)
С посибо всем за совет, но мы с товарищем нашли более простой способ. Берем 4 dll-ки и встовляем в проект

dll-ки можно и потерять со временем.

А если добавить в прогу вот этот модуль, то при первом запуске на чистой машине поставится BDE и будет работать. А если на машине уже есть - соответственно ничего плохого не произойдет 
Код

(*

=================================================================
|  Модуль для установки BDE при его отсутствии в системе       =|
|                                                              =|
|  Использование:                                              =|
|  просто добавьте имя модуля sskInstallerBDE в проект и все.  =|
|                                                              =|
|  Модуль сделал Сергей Сердюк (ака ssk)                       =|
|  E-Mail: [email protected]                                      =|
=================================================================

*)

unit sskInstallerBDE;

{$R bde.res}

interface

uses
  Windows, Forms, dbiErrs, StdCtrls, Classes, SysUtils, Messages, Graphics;

implementation

procedure StartBDEInstall;

var
  RG32EXE: string;
  Form: TForm;
  L: TLabel;
  FSizeCaption: Integer;
  WND: HWND;
  SI: TStartupInfo;
  PI: TProcessInformation;
  a: array[0..MAX_PATH] of Char;

  procedure ExtractRes(ResName, ResType, ResNewName: string);
  var
    Res: TResourceStream;
  begin
    Res := TResourceStream.Create(HInstance, ResName, PAnsiChar(ResType));
    Res.SavetoFile(ResNewName);
    Res.Free;
  end;

  function TempPath: string;
  var
    tp: array[0..MAX_PATH] of Char;
  begin
    GetTempPath(SizeOf(tp), tp);
    Result := IncludeTrailingPathDelimiter(tp);
  end;

  function GetWinDir: string;
  var
    gwd: array[0..MAX_PATH] of Char;
  begin
    GetWindowsDirectory(gwd, SizeOf(gwd));
    Result := gwd;
  end;

  procedure FindingRegsvr32(StartDir: string);
  var
    SearchRec: TSearchRec;
  begin
    StartDir := IncludeTrailingPathDelimiter(StartDir);
    if FindFirst(StartDir + '*.*', faAnyFile, SearchRec) = 0 then
      repeat
        if (SearchRec.Name <> '..') and (SearchRec.Name <> '.') then
          if (SearchRec.Attr and faDirectory) <> faDirectory then
            if AnsiUpperCase(SearchRec.Name) = AnsiUpperCase('Regsvr32.exe') then
              begin
                RG32EXE := StartDir + 'Regsvr32.exe';
                Break;
              end
            else
          else
            FindingRegsvr32(StartDir + SearchRec.Name);
      until FindNext(SearchRec) <> 0;
    FindClose(SearchRec);
  end;

  function ClickButtonInTheAlienWindow(WindowCaption, ButtonCaption: string): boolean;
  var
    awButton: THandle;
  begin
    awButton := FindWindowEx(FindWindow(nil, PAnsiChar(WindowCaption)), 0, nil, PAnsiChar(ButtonCaption));
    Result := False;
    if awButton > 0 then
      begin
        SendMessage(awButton, BM_CLICK, 0, 0);
        Result := True;
      end;
  end;

begin
  Form := TForm.Create(Application);
  with Form do
    begin
      ClientHeight := 90;
      ClientWidth := 350;
      Position := poScreenCenter;
      Scaled := False;
      FormStyle := fsStayOnTop;
      AutoScroll := False;
      FSizeCaption := GetSystemMetrics(SM_CYCAPTION);
      SetWindowLong(Handle, GWL_STYLE,
        GetWindowLong(Handle, GWL_Style) and not WS_CAPTION);
      Height := Height - FSizeCaption;
      L := TLabel.Create(Form);
      with L do
        begin
          Parent := Form;
          Font.Size := 10;
          Font.Style := [fsBold];
          Caption := 'Установка Borland Database Engine...';
          Left := (Form.Width div 2) - (Width div 2);
          Top := (Form.ClientHeight div 2) - (Height div 2);
        end;
      Show;
    end;
  Application.ProcessMessages;
  ExtractRes('BDE', 'RC_DATA', TempPath + 'BdeInst.dll');
  FillChar(SI, SizeOf(SI), 0);
  with SI do
    begin
      cb := SizeOf(SI);
      dwFlags := STARTF_USESHOWWINDOW;
      wShowWindow := 4;
    end;
  FindingRegsvr32(GetWinDir);
  StrPCopy(a, RG32EXE + ' /s ' + TempPath + 'BdeInst.dll');
  CreateProcess(nil, a, nil, nil, False, CREATE_DEFAULT_ERROR_MODE, nil, nil,
    SI, PI);

  // ждем окно распаковки библиотеки
  repeat
    Application.ProcessMessages;
    Sleep(100);
    WND := FindWindow(nil, 'Borland Database Engine');
  until WND > 0;
  // окно появилось - ставим на задний план
  SetWindowPos(WND, Form.Handle, 10000, 10000, 0, 0, HWND_BOTTOM);

  // ждем окно диалога установки в папку
  repeat
    Application.ProcessMessages;
    Sleep(100);
    WND := FindWindow(nil, 'Borland Database Engine Installation/Upgrade');
  until WND > 0;
  // окно появилось - нажимаем кнопку OK
  ClickButtonInTheAlienWindow('Borland Database Engine Installation/Upgrade', 'OK');

  // это код для NT (на 98 не влияет) - появляется диалог о нехватке места
  while WaitForSingleObject(PI.hProcess, 50) = WAIT_TIMEOUT do
    begin
      WND := FindWindow(nil, 'Warning');
      if WND > 0 then
        ClickButtonInTheAlienWindow('Warning', '&Yes');
      Application.ProcessMessages;
      Sleep(100);
    end;

  DeleteFile(TempPath + 'BdeInst.dll');
  DeleteFile(TempPath + 'Regsvr32.exe');
  Form.Release;
  FreeAndNil(Form);
end;

initialization
  if dbiInit(nil) <> 0 then
    StartBDEInstall;

end.

только тут побочный эффект - размер exe-шника сразу увеличивается на 3 лишних метра.
PM MAIL WWW ICQ   Вверх
former
Дата 5.3.2008, 19:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


MEMS Expert
***


Профиль
Группа: Завсегдатай
Сообщений: 1166
Регистрация: 1.3.2006
Где: Россия

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



Цитата(In4matik @  5.3.2008,  07:12 Найти цитируемый пост)
только тут побочный эффект - размер exe-шника сразу увеличивается на 3 лишних метра. 

 smile 
In4matik, я думаю что лучше в дистрибутив своей программы запихнуть дистрибутив BDE Admin-а. Так-то наверное грамотнее будет.
Или, если уж использовать твой модуль, то сделать из него маленькую утилиту, вынеся его в отдельную программку или библиотеку. После первой установки проверять и сносить или в инструкции по установке прописать шаги.

Это сообщение отредактировал(а) former - 5.3.2008, 19:41


--------------------
Достаточно снизить уровень мышления, чтобы иные почувствовали почву под ногами.
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.0487 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


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

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