IsYielding property

Applies to
TIB_Session

Declaration
Property IsYielding : boolean;

Description
Indicates if the IB_Session is currently in a process that is yielding.

This property can be very useful to check in a form's CloseQuery event because there may be a process running when the form close button is pressed. This way the user could be prompted to wait or cancel the process and try closing the form again.

It could also be used to make sure that two export processes are not started. Or, two reports even, since it is possible with reporting tools like Report Printer Pro to continue working with your interface while the report is running on the main thread.

The UI activity is all handled in "forked" processes originating from the Application.ProcessMessages call. Thus, if there is a call to this between each record exported, fetched, reported on, etc. then this is what I call a Yielding situation. The export, report, etc. process yields some processor cycles to the UI in order to process a button click or whatever in a "forked process".