Subject TIB_BDataset set Session
Author lseckde
Hi,

while using IBO in an multithreading environment, I found an problem
(an hopefully an solution).
As far as I know to use IBO with multiple threads each thread must
use an separate IB_Session, but the TIB_BDataset does not override
set SetSession function so it still uses the default session.
After modifying the sources:

TIB_BDataset = class(TIB_Dataset)
..
procedure SetSession( ASession: TIB_Session ); override;

and

procedure TIB_BDataset.SetSession( ASession: TIB_Session );
begin
if IB_Session <> ASession then
begin
inherited SetSession( ASession );
if assigned(FCurrentCursor) then FCurrentCursor.IB_Session :=
ASession;
if assigned(FBufferCursor) then FBufferCursor.IB_Session :=
ASession;
if assigned(FLocateCursor) then FLocateCursor.IB_Session :=
ASession;
if Assigned(FFilterCursor) then FFilterCursor.IB_Session :=
ASession;
end;
end;

it works fine.

Does any body know other possible problems.

Regards
Thomas Stamm