for better writing descendes of IBQuery it is neccessary *not* to call
on E: Exception do
if (E is EDatabaseError and Assigned(FOnUpdateError) then
FOnUpdateError(Self, EIBError(E), UpdateKind, UpdateAction);
it is better to use a virtual method
on E: Exception do
DoOnUpdateError(EIBError(E), UpdateKind, UpdateAction);
the method can then call the event.
I would do it by my own and post here if the tree was setuped right, with toDoList, sourcefiles, download files here and not by borland etc..
Hava a nice day