Subject Re: [IBO] Re: Transaction pausing
Author Geoff Worboys
Hi Jeff,

I am guessing that someone tried to replace the explicit timer
on the main form (TransactionTimer) with the existing
TIB_Session timer. See the trControlledSessionTimer
procedure which appears to be a replacement for the old
CheckTransactions procedure. (I seem to remember that the
session timer was something introduced after I did the
pausing changes). However the trControlledSessionTimer
procedure needs to be hooked up to the IB_Session.OnSessionTimer
event (it seems to have become disconnected).

I can also see where the code is trying to use the (newer than
pausing) TIB_Transaction.TimeoutProps stuff - but without
hooking to any user interface items to make it clear what is
going to happen.

In short; The tutorial is rather stuffed. An attempt was made
to integrate with new features without updating the help or
making sure everything was connected.

> Well, if the demo is not given much attention anymore after
> all the new enhancements in IBO, do we suppose that IBO has
> already outgrown such implementation of transaction pausing?
> Is there a better way now?

Well there is the embedded session timer that is already
calling TIB_Transaction.ProcessPassiveTasks to do some
checking (which is where the TimeoutProps get used). However
this does prompting and closing rather than pausing. Also
those features do not check for app activity, which is very
important and one of the reasons for the demo/tutorial in
the first place.

I still use pausing in my apps.

The tutorial could be made to work again but I dont have
time to do a clean job of it.

- hook up trControlledSessionTimer to IB_Session.OnSessionTimer
- delete the TransactionTimer timer component
- rename the old TransactionTimerTimer procedure (that was
hooked to TransactionTimer) to UpdateTransactionList and
call that as first thing in trControlledSessionTimer

When playing you may want to look at the TIB_Transaction.TimeoutProps
stuff and perhaps reset back to defaults so it does not get confused
with the tutorial/pausing code (or watch what happens when you use
those new properties).

As you can see it all starts to get a bit messy and really should
be redone. IMO the pause feature is worth having and understanding.


Geoff Worboys
Telesis Computing