Subject RE: [firebird-support] Firebird 2 and IBX components
Author Jarrod Hollingworth
Helen/Alan,

Alan wrote:
> Helen wrote:
> > You seem confused about what the version stamping is for. The
> > "compatibility client" is only needed if you are building an app
> > using the
> > IBX service components, because IBX at design-time is hard-coded
> > to prevent
> > use of the Services API with a client having a major
> version number lower
> > than 6. However, once the application is compiled, it doesn't care.
>
> in fact, Helen - it's ONLY for the installation of the admin
> components.
> Only installation into the IDE that you need the
> compatibility, nothing
> else.

From my checking that is not true. IBX tests the client version in several
places at runtime, mostly for features only available in IB version 7 and
7.1, but also for this (IBX 7.08 in D7):

unit IBDatabase;

procedure TIBTransaction.SetDefaultAction(Value: TTransactionAction);
begin
if (Value = taRollbackRetaining) and (FGDSLibrary.GetIBClientVersion < 6)
then
IBError(ibxeIB60feature, [nil]);
FDefaultAction := Value;
end;

Untested but I would imagine that trying to set the default action of a
transaction to taRollbackRetaining with an UNPATCHED version DLL (one with
say v1.5.2.xxxx) an exception would be raised.

Regards,
Jarrod Hollingworth