Subject | Re: [IBO] ib_session - invalid pointer operation |
---|---|
Author | Paul Little |
Post date | 2001-01-15T15:04:25Z |
Hi Geoff,
That's interesting, I don't seem to have IB_Components.pas - could that
be anything to do with it!?
I installed the evaluation version of IBO, should IB_Components.pas be
in there? (I have the .PBL, .DCU & .INT files but not the .pas). I
rechecked the zip file and it is definitely not there.
Paul
Geoff Worboys wrote:
That's interesting, I don't seem to have IB_Components.pas - could that
be anything to do with it!?
I installed the evaluation version of IBO, should IB_Components.pas be
in there? (I have the .PBL, .DCU & .INT files but not the .pas). I
rechecked the zip file and it is definitely not there.
Paul
Geoff Worboys wrote:
>
> > The error reported is EInvalidPointer and the message is
> > Invalid pointer operation. It appears to occuring in
> > IB_Session in the procedure FreeBlobRefList but I don't
> > know how it gets there - I have stepped through and the
> > control seems to just jump to this procedure without
> > being called (not from where I can see anyway).
>
> In the finalisation section of IB_Components.pas you will find...
>
> if Assigned( tmpIB_Component ) then
> begin
> tmpIB_Component.Free;
> tmpIB_Component := nil;
> end;
>
> tmpIB_Component is a component that IBO creates to ensure that the
> default IB_Session is created (in the initialisation section).
> tmpIB_Component is destroyed in the finalisation and should be the
> last component to be freed, resulting in the destruction of the
> default IB_Session.
>
> If you place a break-point on this code you may be able to determine
> what is happening. Perhaps :-)
>
> Check any code where you dynamically create/destroy IBO components,
> particularly in form constructors/destructors or outside the main
> application run loop - where you may be impacting standard VCL
> processes.
>
> Geoff Worboys
> Telesis Computing