Subject IBO 4.6A prefers FBClient over gds32!
Author Martijn Tonies
Hello,

I just found out that by default, the new IBO will load fbclient.dll
(if it can find it) over gds32.dll (the old behaviour).

The problem is in here (IB_Session.pas):

(comment with "--->>" are mine)

procedure AcquireOriginalHooks;
var
SaveCW: word;
tmpname: string;

begin
if FGDS_Handle < 32 then
begin
tmpname := '';

--->> the below is new, but if it cannot be found it branches, see below

if Assigned(IB_GetClientLibNameFunc) then
tmpname := IB_GetClientLibNameFunc;
if Length(tmpname) > 0 then
begin
if not OpenClientLibrary(PChar(tmpname)) then
Exit;
end
--->> if no "get client lib name" routine is found, it will now low
--->> fbclient.dll first. This is backward from previous behaviour
--->> where you could set IB_Constants.IB_GDS32 to load
--->> a different library.

else if not OpenClientLibrary(PChar(IB_FBCLIENT_DLL)) then
if not OpenClientLibrary(PChar(IB_GDS32)) then
Exit;
end;


This can cause weird errors, like in my situation, after the IBO
upgrade, my application tried complaining about a wrong ODS
version because it was connecting to Firebird instead of InterBase.


Martijn Tonies
Database Workbench - tool for InterBase, Firebird, MySQL, Oracle & MS SQL
Server
Upscene Productions
http://www.upscene.com
Database development questions? Check the forum!
http://www.databasedevelopmentforum.com