Subject Re: [firebird-support] Using a Mapped FB Database for Application
Author Helen Borrie
At 06:31 PM 3/05/2006, you wrote:
> >
> > All this presupposes you are using Firebird 1.5, not Fb 1.0 or
> > InterBase. So let's be clear about that first. I observe a few
> > warning signals in your various posts that you might be using an old
> > version of InterBase and not Firebird at all, e.g. the reference to
> > QuickReport (which has been gone from Delphi for years) and the fact
> > that you are possibly using the BDE and driver versions that came
> > with Delphi 4 or 5, which don't support Firebird 1.5.
> >
>I am indeed using Firebird 1.5, however, also using the BDE, as this
>application doesn't seem to work without the drivers for BDE.

It wouldn't.

>I don't know if I have scope on this project to change the software so it
>doesn't use the BDE, however, it seems to work.

I'm not suggesting that you do. If I understand this whole thing at
all, you're not even at the stage yet where you understand enough
about the model to connect a remote client to a database. The
comments above relate to my suspicion that you are using a very old,
i.e. InterBase 4 or 5, driver. That might or might not matter,
depending on whether you upgraded the database to Dialect 3 (which
you haven't mentioned).

>Do you mind explaining the use/ interaction of these drivers ?

Very briefly, the BDE (Borland Database Engine) is a complex software
layer that translates various generic database structures to make
them behave in ways that the Delphi data access components expect
these structures to behave, no matter what database engine lies
behind. It's a very "heavy" layer, because it's forcing all
databases to behave as though they were Paradox databases. Each
different database engine has an API (application programming
interface) that provides programmatic structures that C/C++
applications can use. Between the BDE and the engine-specific API is
the driver, e.g. in this case, the InterBase driver, or maybe
Borland's BDE/ODBC driver, provides a custom "interpretation layer"
between the BDE and the API.

>Why would I need to have BDE installed for this application to work
>(due to the errors from my previous post, something like 'Cannot
>initalise BDE $2108' )

Because it is the interface that your application code was written
for, i.e. Delphi VCL components that are bound to the BDE.

>The QuickReport software has been purchased again as the previous
>developers used it for creating reports, and I had no choice but to
>use it again. (budget/time constraint).

Basically, if the data access layers work (VCL + BDE + driver) then
QR should work with it - provided it's the right version of QR for
the Delphi version.

>PS : This is my first Delphi/Firebird project upgrading an
>application...without a team environment to ask questions of...I
>appreicate your advice.

Sure, you seem to have been given a very tall order. There are
channels for Delphi developers (use Google and/or search the
developer archives at the Borland site) and the VCL helpfile has to
be the first stop for understanding how the components hook up together.