Subject | Re: [IBO] Re-post: 'Class TIBOBCDField not found' |
---|---|
Author | Luiz Alves |
Post date | 2001-04-10T03:55:32Z |
Geoff,
I erase all requires clauses of all packages and I was building one after
one.
Delphi gives a warning and added the required packages to each package when
needed.
Until now, I don't see more the error of class tibobcdfield not found.
Thank you very much,
Luiz.
I erase all requires clauses of all packages and I was building one after
one.
Delphi gives a warning and added the required packages to each package when
needed.
Until now, I don't see more the error of class tibobcdfield not found.
Thank you very much,
Luiz.
----- Original Message -----
From: Geoff Worboys <geoff@...>
To: <IBObjects@yahoogroups.com>
Sent: Monday, April 09, 2001 11:43 PM
Subject: Re: [IBO] Re-post: 'Class TIBOBCDField not found'
> > I done this four times without success. I am crazying with it.
> >
> > Could you give more any tip?
>
> The IB_Registration.pas unit is responsible for registering the
> special field classes. Be sure it is included in the package you are
> building.
>
> TField registrations are achieved through a special VCL function.
> There is a function pointer (RegisterFieldsProc in db.pas) that is
> only defined when a particular designtime unit is loaded (dsdefine.pas
> in Delphi5).
>
> I **suspect** that what happens in some situations is that the package
> setup forces IBO to load before the particular VCL designtime package
> is loaded, resulting in the field class registration being missed.
>
> In my situation I was getting any "invalid field registration" error
> that occurs when the procedure pointer is not defined. I can only
> think that there is something in your setup which is catching and
> ingoring this error.
>
> You could try this...
>
> Update IB_Registration.pas so that in the implementation "uses" clause
> where you see...
>
> {$IFDEF IBO_VCL40_OR_GREATER}
> IB_ActionNavigate,
> IB_ActionTransaction,
> IB_ActionUpdate,
> {$ENDIF}
>
>
> add the unit that defines the registration function. eg;
>
> {$IFDEF IBO_VCL40_OR_GREATER}
> IB_ActionNavigate,
> IB_ActionTransaction,
> IB_ActionUpdate,
> dsdefine,
> {$ENDIF}
>
>
> Alternatively you could try adding dcldb40 to the requires clause of
> the IBO package. I think it is dcldb50 in Delphi5 that contains
> dsdefine.
>
> Either of these should force the initialisation to occur before the
> registration of the IBO fields.
>
> No idea if this will work, but its worth a try.
>
> Geoff Worboys
> Telesis Computing
>
>
>
>
>
> Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
>
>