Removes the interface elements provided by the DoStatus method.
Applies To: ReportListener Object.
The DoStatus method provides modeless feedback for ReportListener objects. Since your program continues running after the DoStatus user interface elements appear, you need a way of removing these elements explicitly. The ClearStatus method provides this service.
Write appropriate code in this method to remove the interface elements your class provides in its DoStatus method. For example, the baseclass ReportListener uses a WAIT NOWAIT window to provide feedback during a report run, so the base class ReportListener ClearStatus method performs the equivalent of a WAIT CLEAR. The ReportListener User Feedback Foundation Class, in contrast, provides a progress bar in a form as report run feedback, so its ClearStatus method removes the form.
|Your user interface code should take the setting of the QuietMode property into account, emulating the behavior of the baseclass ReportListener. For more information, see DoStatus Method.|
You can invoke DoStatus and ClearStatus at any time, even when a report run is not in progress. In the following example, a ReportListener object adds some custom behavior if a DoStatus call occurs between report runs. When a report run begins, it clears any previous feedback that might be on-screen from any earlier call to DoStatus.
LOCAL oListener oListener = CREATEOBJECT("messagingReportListener") oListener.DoStatus() REPORT FORM ? OBJECT oListener oListener.DoStatus() REPORT FORM ? OBJECT oListener oListener.DoStatus() DEFINE CLASS messagingReportListener AS ReportListener iReportRuns = 0 ListenerType = 1 PROCEDURE BeforeReport() THIS.iReportRuns = This.iReportRuns + 1 THIS.ClearStatus() DODEFAULT() ENDPROC PROCEDURE DoStatus(cMessage) IF EMPTY(cMessage) NODEFAULT DODEFAULT("You have run " + ; TRANSFORM(THIS.iReportRuns) + " report(s) so far!") ENDIF ENDPROC ENDDEFINE