> >CREATE CURSOR test (cdata char(20)) >APPEND blank >*Modeled after sample code at http://fox.wikis.com/wc.dll?Wiki~ReportListener~VFP >*... >*Code to instantiate the listener object and run the report. >#INCLUDE reportlisteners.h >Set Classlib To Home()+"\ffc\_reportlistener.vcx" additive > >#DEFINE DebugListener -2 >#DEFINE PrintListener 0 >#DEFINE PreviewListener 1 >#DEFINE XMLListener 4 >#DEFINE HTMLListener 5 > >#DEFINE PreviewMode '1' >#DEFINE PrintMode '2' > >**Custom Listener >Local oListener as object >oListener = NEWOBJECT("ltListener") >oListener.ListenerType = PreviewListener > >***Run Report >REPORT FORM "test.frx" TO PRINTER PROMPT OBJECT olistener > >RETURN > >*+------------------------------------------------------ >*| Custom Listener Class named: "ltListener" >*+------------------------------------------------------ >DEFINE CLASS ltListener AS utilityreportlistener >************* Instance Specific Properties > > *+--------------------------------------------------------- > *| *** Parent Method Customizations *** > *+--------------------------------------------------------- > *+--------------------------------------------------------- > *| Error() **Inherited Method > *| Triggered when an Error occurs while running the report. > *+--------------------------------------------------------- > Procedure Error(nError, cMethod, nLine) > DoDefault(nError, cMethod, nLine) > Set Step On > ENDPROC > > *+--------------------------------------------------------- > *| OnPreviewClose() **Inherited Method > *| Triggered when an Error occurs while running the report. > *+--------------------------------------------------------- > Procedure OnPreviewClose(lPrint) > IF lPrint && User clicked Print button! > *** Set variable flag here, or whatever > WAIT WINDOW "It's rollin', baby!" > ENDIF > DoDefault(lPrint) > ENDPROC >ENDDEFINE