Link to home
Start Free TrialLog in
Avatar of ralph78
ralph78Flag for France

asked on

BDE and Paradox

I have to access Paradox tables. But when I run my app. on another computer, an error occurs when BDE try to initialize. How should I process?
Thanks
Avatar of kretzschmar
kretzschmar
Flag of Germany image

install the bde, create the alias you used
Hello
  for deploying ur application in other computer, use install shield, it will install the BDE and create the required alias automatically, you can find install shield express for delphi in Delphi cdrom
look also for other installers in torry site, some of them free
http://www.torry.net/install.htm

Mohammed Nasman
Avatar of ralph78

ASKER

My app. has to run from a CD (without install)
hmmm, at least u need to install BDE for one time, without that i think it's imposibble :)

or try to use ADO instead of BDE
Mohammed
hmmm, at least u need to install BDE for one time, without that i think it's imposibble :)

or try to use ADO instead of BDE
Mohammed
Avatar of SteveWaite
SteveWaite

BDE needs reg entries that point to its files, installshield express would do that normally. Also you need the alias set up as well. (or program can use dir path to data instead).
You need to have your program check for and set these reg entries up the first time it's run, before the datamodule is created in your app. Also the alias can be set using the dbiAddAlias function at the same time.

Steve
ASKER CERTIFIED SOLUTION
Avatar of kretzschmar
kretzschmar
Flag of Germany image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of ralph78

ASKER

ok meikl, thanks but there's still something i can't get:
the pdoxusrs.lck is generated by this little application, and based on a path that the user have to enter in an edit box. but this path is absolute isn't it? so how could i enter it before burning my cdrom? and if the app runs on a pc wich use different drive letters that mine, i really don't see how it could work.

ralph!
Hope this helps1
VSF
www.victory.hpg.com.br

Use this function to solve the problem of different drive letters!
This function will return the CD Drive letter for you:

Obtendo a letra do drive de Cd-Rom
      Function FindFirstCDROMDrive: Char;
      Var
         drivemap, mask: DWORD;
         i: Integer;
         root: String;
      Begin
         Result := #0;
         root := 'A:\';
         drivemap := GetLogicalDrives;
         mask := 1;
         For i:= 1 To 32 Do
           Begin
             If (mask and drivemap) <> 0 Then
               If GetDriveType( PChar(root) ) = DRIVE_CDROM Then
                 Begin
                   Result := root[1];
                   Break;
                 End;
             mask := mask shl 1;
             Inc( root[1] );
           End;
      End;

      procedure TForm1.Button1Click(Sender: TObject);
      Begin
         ShowMEssage('CD-ROM Drive :'+FindFirstCDROMDrive );
      End;
Avatar of ralph78

ASKER

ok, the file i should create contain an absolute path on a CD-ROM, and this file will be burned on the cd. this path will depend of the machine where the program will run, so this path could be different between 2 machines.
Avatar of ralph78

ASKER

errr... i remember u that there is no installation possible. event if i create the *.LCK file, i get an error during the initalization of BDE.
thanks for your help,
ragards, Ralph
sure,
at least you must install the bde on the target-pc,
even if the tables are residing on a cd-rom

a possibility how to deploy the bde easily is shown by simonet at
http://www.bhnet.com.br/~simonet/tipstricks/bdeinstcab.htm

just to say, indepedent what database u use, the target pc must have prepared to use the database
- by bde -> bde must be installed
- ado -> ado must be installed
- any other native components -> atleast the specific database-client software must be installed and configured

the only way, to get rid of any installation is to use a flatfile with selfwritten access routines

meikl ;-)
Ralph
What do you have on your CD?  Do you have the BDE on the CD?  Are the Paradox tables also on the CD and then transferred to the harddrive for read-write?
I found this free  component while surfing the net.  It's called BDE32 and is found at:
http://www.delphispirit.com/dbawvclindex.php
Claims you can place the BDE in a subdirectory under your app.  Once done, you cna run the app from anywhere, even from a network client.  May work for you...
Avatar of ralph78

ASKER

my app must work absolutly without installation, even a ragistry one, and on a computer with minimal data: windows nt server, but not office, not bde, almost nothing. i tried the bde32 component. the idea is pretty good, but it only works with visual component (like dbgrid). i'm using TQuery components, and they don't work with bde32. i tried apollo vcl too, but the base must be in read/write mode (i dunno why). they told me to use a non-exclusive mode, but i don't know how to turn it off. well, i think it's all, so i thanks u for all your answers, and hope you'll answer again!

regards, ralph
ralph78:

Just a friendly reminder to return to your open questions.

thanks!
amp
community support moderator

2/7
No comment has been added lately, so it's time to clean up this TA.
I will leave a recommendation in the Cleanup topic area that this question is:

Accept Kretzschmar's comment as answer

Please leave any comments here within the next seven days.
 
PLEASE DO NOT ACCEPT THIS COMMENT AS AN ANSWER!
 
Thank you,
Russell

EE Cleanup Volunteer