*!* *!* Put this code in its OWN FOLDER *!* Because files will be deleted *!* during its execution. *!* LOCAL lcCode, lcFile ERASE RepoDemo.* ERASE CONFIG.FPW SET RESOURCE ON lcCode = GetReproCode() lcFile = SYS(2005) && current resource file STRTOFILE(lcCode, [RepoDemo.prg]) STRTOFILE([_screen=off] + CHR(13) + CHR(10), [config.fpw]) USE (lcFile) AGAIN IN 0 ALIAS crsFoxUser CREATE REPORT RepoDemo FROM (lcFile) CREATE PROJECT RepoDemo NOWAIT _vfp.ActiveProject.Files.Add('RepoDemo.prg') _vfp.ActiveProject.SetMain('RepoDemo.prg') _vfp.ActiveProject.Close() BUILD EXE RepoDemo FROM RepoDemo USE IN SELECT('crsFoxUser') RUN /n RepoDemo.EXE RETURN PROCEDURE GetReproCode LOCAL lcReproCode TEXT TO lcReproCode NOSHOW PRETEXT 2 SET TALK OFF SET REPORTBEHAVIOR 90 SET RESOURCE ON _screen.Visible = .F. LOCAL loTLF loTLF = CREATEOBJECT('_TLForm') loTLF.Show() READ EVENTS loTLF.Release() CLOSE TABLES ALL loTLF = NULL ON ESCAPE QUIT DEFINE CLASS _TLForm AS Form AutoCenter = .T. Height = 500 Width = 600 ShowWindow = 2 WindowType = 0 Caption = [Top Level Form - Double-Click in Form Area to get child form] Visible = .T. PROCEDURE DblClick LOCAL loForm loForm = CREATEOBJECT('_form') loForm.Show(1) THIS.Caption = [Top Level Form - Right-Click to CLEAR EVENTS] ENDPROC PROCEDURE RightClick CLEAR EVENTS ENDPROC ENDDEFINE DEFINE CLASS _Form AS Form AutoCenter = .T. Height = 400 Width = 500 DataSession = 2 ShowWindow = 1 Caption = [Form in TLF Form] ADD OBJECT cmdReport as _CommandButton WITH ; TOP = 100, ; LEFT = 200, ; Caption = 'Report' PROCEDURE Init SET TALK off SET DELETED on SET CENTURY on SET EXCLUSIVE off LOCAL lcFile lcFile = SYS(2005) IF FILE(lcFile) USE (lcFile) AGAIN IN 0 ALIAS crsFoxUser ELSE RETURN .f. ENDIF SELECT crsFoxUser ENDPROC PROCEDURE cmdReport.Click REPORT FORM RepoDemo TO PRINTER PROMPT PREVIEW ENDPROC ENDDEFINE DEFINE CLASS _CommandButton AS CommandButton Width = 80 Height = 28 FontBold = .T. ENDDEFINE ENDTEXT RETURN lcReproCode ENDPROC