Subject Re: [IBO] IB Objects and fbclient.dll
Author Helen Borrie
At 01:22 AM 8/12/2004 +0000, you wrote:


>Because of our circumstances, we are not always in charge of the
>installation of the database system or even what is installed.
>ie.
>sometimes
>IB6016
>sometimes
>FB1.03
>sometimes
>FB1.51
>
>We work co-jointly with other systems.
>
>What we would like would be to tell have
>the option to tell IBObjects which
>system to work with.
>
>Ie. one of our customers actually runs both
>interbase and firebird on the same system,
>which really makes it difficult for us.

OK, you are allowing your customer to make you lie on a bed of nails.


>We would like to tell IBObjects to forcibly
>use fbclient.dll instead of gds32.dll

You can most certainly do this.

>but this must be optional, and not hard coded.

..but you cannot have butter on both sides of the bread.

Method 1) It's easy to compile your IBO apps so that they use only a client
named fbclient.dll. In your IBO source root, take a look at the unit named
IB_Session511.pas. Make a similiar unit, with a name like
'IB_Session_firebird15.pas' and change the library name string to
'fbclient.dll'.

Now, in the DPR files of all of your IBO projects that are to work with Fb
1.5, add IB_Session_firebird15 to the uses clause, making it the very
first unit in the clause.

Put fbclient.dll in the system directory, without renaming it, recompile
your project, and you're done. Now your executable doesn't even know
gds32.dll ever existed.

You might want to make a "Firebird version" of IB_SQL the same way.

Method 2) Install a copy of fbclient.dll, renamed as gds32.dll, in the same
directory as the application's executable. It's a solution that can work,
but test it well.

Helen