Select * from myTable where Something into cursor myCursor >_CRReport("myCursor","c:\myCR_RPT_Files\", "myTest.RPT", "myTable") > >Function _CRReport > Lparameters tcCursorName, tcPath, tcRPTName, tcTableName > > lcAlias = alias() > Select (tcCursorName) > lcTemp = sys(2015) > Copy to (tcPath+lcTemp) type fox2x > oCrystal=CreateObject("Crystal.CRPE.Application") > #Define WS_MAXIMIZE 29949952 > Declare integer GetForegroundWindow in WIN32API > Declare short IsWindow in WIN32API integer > > > oRpt = oCrystal.OpenReport(tcRPTName) > With oRpt > With .Database.Tables(tcTableName) > .Location = tcPath+lcTemp+".dbf" > Endwith > With .PrintWindowOptions > .CanDrillDown = .t. > .HasCancelButton = .t. > .HasCloseButton = .t. > .HasExportButton = .t. > .HasGroupTree = .t. > .HasNavigationControls = .t. > .HasPrintButton = .t. > .HasPrintSetupButton =.t. > .HasProgressControls =.t. > .HasRefreshButton =.f. > .HasSearchButton =.t. > .HasZoomControl =.t. > Endwith > .preview ("Report Preview ",,,,,WS_MAXIMIZE,0) > Endwith > lnHwndActiveX = GetForegroundWindow() && Save window handle > Do while IsWindow(lnHwndActiveX) # 0 && Wait while Activex Alive > Enddo > Clear dlls > > Erase (tcPath+lcTemp+".*") > If !empty(lcAlias) and used(lcAlias) > Select (lcAlias) > Endif >Cetin