If that's the case, why coping to a temp report and changing expr in Run method would not work for you?
>Yes.
>
>The class work as well:
>
>Local oReport
>oReport = CreateObject("MyReportClass")
>oReport.PDFFileName = "xxxx.pdf"
>oReport.Add("Repor1.frx")
>oReport.Add("Repor2.frx")
>oReport.Add("Repor3.frx")
>oReport.Run("I")
>
>The parameter passed in Run method could be "I" to print, "P" to preview, "E" to e-mail or "W" to upload the resultant pdf file.
>
>In "MyReportClass" there is a Report Form... Object command for each report added that use a ReportListener object in which I add the watermarks and do another things.
>
>I want that when the user choose the printer and the range of pages (using my form and don't the VFP print dialog), he also choose the number of copies.
>But I want to do this in a way (if is possible) that I only need to change the class in itself instead of each call.
If it's not broken, fix it until it is.
My Blog