Subject | Re: Exiting gracefully from lost connection error (335544721) |
---|---|
Author | Adam |
Post date | 2005-10-16T01:09:57Z |
--- In firebird-support@yahoogroups.com, "almfgingras"
<almfgingras@y...> wrote:
I have seen it when using a TObjectList derivative of visual
components when OwnsObjects is true but the owner of the component is
the form etc (until I woke up and realised there is a TComponentlist
for that task).
I wonder what the database component is trying to do when it is free.
The only thing I can think of is if it is sending a rollback or
something to any attached transaction. Does it help maybe to assign
the transaction to null before closing, or maybe to explicitly free
both objects in a specified order in the ondestroy event? Then you
should not have the objects attempting to access an object that has
previously been freed.
Adam
<almfgingras@y...> wrote:
>I have never seen that behaviour with database connection components.
> Thank you for the suggestion Adam. Unfortunately, I get the same
> result with the close command as I do with Application.Terminate.
>
> I think that the error is generated when the database component is
> freed, which is done automatically when its owner is destroyed. At
> that specific time, I can no longer intercept the exception, which
> results in the 'Send error report to Microsoft' dialog.
>
> Philippe
I have seen it when using a TObjectList derivative of visual
components when OwnsObjects is true but the owner of the component is
the form etc (until I woke up and realised there is a TComponentlist
for that task).
I wonder what the database component is trying to do when it is free.
The only thing I can think of is if it is sending a rollback or
something to any attached transaction. Does it help maybe to assign
the transaction to null before closing, or maybe to explicitly free
both objects in a specified order in the ondestroy event? Then you
should not have the objects attempting to access an object that has
previously been freed.
Adam