Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations SkipVought on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

How to run 2 versions of BDE on one computer

Status
Not open for further replies.

onealm

Programmer
Oct 23, 2000
15
0
0
US
We have two separate applications that both need to run at the same time on the same workstation. Each application uses a different version of the Borland Database Engine (BDE). The two BDE versions are incompatible. Does anyone know how to configure a system to allow both BDE versions to run simultaneously?
 
I would use the most recent one. With the BDE administrator, configure your aliases. S. van Els
SAvanEls@cq-link.sr
 
Unfortunately, this does not address the problem.
Each program requires a different version of the BDE (not just a different alias).

One requires BDE version 4.5.1.4
The other requires BDE version 5.1.0.4.

All suggestions are appreciated.
 
Can't you recompile the older version? S. van Els
SAvanEls@cq-link.sr
 
The application using the older BDE isn't ours. We don't have the source code. So we cannot recompile it.

Even if we did have the source code, it was developed in Turbo C++ (predecessor to C++ Builder)... not Delphi.

Just to give you an idea of how old this app is, it doesn't even use Microsoft Foundation Classes. It uses Borland's OWL for all Windows API calls.

So in order to bring this application up to date, you'd have to migrate it to MFC first. Yuck!
 
I don't know if this will help, but I have 2 versions of the BDE installed and if I start up the older one first, (older one is for a program that I don't have source for) then start up Delphi 5, D5 uses the older dlls and everything seems to work ok. If I start D5 (newer BDE) first it won't work.

Good luck! TealWren
 
This implies that you are running two BDE versions that are compatible. For example, they are both 5.x or later.

Delphi 5 shipped with BDE 5.x. This version of the BDE was heavily documented by Borland to NOT be backward compatible. In fact, migrating our source code from D3 to D5 would have been pretty simple, except for some changes we had to make for BDE 5.x compatibility.

Is the older one BDE 4.51 (aka 4.5.1.4) or older?
The version is in the properties of the idapi32.dll.

If there is a solution for this, it probably involves renaming one of the idapi32.dll files. Because once one version is loaded, all other applications attempting to use it will use the one loaded in memory first. It's the classic caveat of using DLLs.

 
You're right - both are version 5.x releases.

The older one sounds like a 16 bit app. Can you set it to run in its own memory space?

Good luck!
TealWren
 
Actually, it is a 32-bit app. They normally use BDE 3.50, but we have been able to run it on the more recent 4.5.1.4. This problem just cropped up after we migrated our product to Delphi 5, in which the BDE isn't backward compatible.

How do you run something in its own memory space??? I mean, aside from what Windows normally does?

BTW: we can mandate they use Windows 2000 if necessary.
 
I think that only works for 16 bit apps - you don't get that option for 32 bit apps. I'm not sure if that would work anyway - I know that NT/2000 will load the app in a separate NTVDM but I'm not sure where the DLL's end up.

TealWren
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top