Subject IBO, Firebird, Virtual String Tree, Drag and Drop issue.
Author Chuck Belanger
Not really sure how to ask this.

I've been using Virtual String TreeView component for a number of years
now and use IBO to load the treeview. In my treeview I use drag and drop
and for the most part, its been successful, although there is a
persistent error, albeit highly intermittent that occurs:

When I drag and drop to move a series of nodes in the tree, the database
activity kicks in and adjusts the records for which the tree is created
from. Once in a while, I'll finish the Drop, the tree shows the changes
and then I click on another tree node, and BOING! just like that,
whatever node/nodes I just moved jump to the node I clicked on. It acts
like the Drop didn't really finish until that last click.

I cannot reliably reproduce this behavior, but when it does happen its
most disconcerting. My take on it is that the tree nodes change much
faster than the underlying FireBird data. At some point when I click on
a node, there is, sometimes, unfinished database work going on. What I
want to be able to do is know when all the associated database activity
is finished before allowing any kind of treeview activity, including
change of node focus,etc.

How do I do that? An event to use, a method, property I can access from
the IBO side? Any other ideas.
I tried using the OnEndDrag event in the Treeview, to reset a global var
which I use to prohibit changes in node focus. It definitely helped, but
did not completely eliminate this behavior.

BTW, the Database is local, just in case you didn't get that.

Thank you,

Chuck Belanger