xsharp.eu • Use of ReportPro 2 in a migrated VO application
Page 1 of 1

Use of ReportPro 2 in a migrated VO application

Posted: Fri Oct 04, 2019 8:40 am
by wriedmann
Hi,
I have now tried to use ReportPro 2 in a migrated VO application, and have some problems.

In VO, the class RpReport can be simply instanciated - in the X# version no more because the class is defined as abstract. And there are missing some methods of the class RpReport, like SetVariableValue() and PrintPreview().

I have looked in the assembly ReportPro2.Runtime.dll.

What I'm missing here?

Thank you very much!

Wolfgang

Use of ReportPro 2 in a migrated VO application

Posted: Fri Oct 04, 2019 8:47 am
by wriedmann
Hello,

I have found it now: the class to use is RpReportRDD or RpReportSQL.

Wolfgang

Use of ReportPro 2 in a migrated VO application

Posted: Fri Oct 04, 2019 10:04 am
by robert
Wolfgang,
That is right. There is also a 3rd class RpReportDesigner that needs to be used when you want to include the designer in your app.

Robert

Use of ReportPro 2 in a migrated VO application

Posted: Fri Oct 04, 2019 10:28 am
by wriedmann
Hi Robert,

thank you very much!
Do you need a list of overloaded methods that need to be changed so the rpReportRDD object can be used in existing VO applications?

Wolfgang

Use of ReportPro 2 in a migrated VO application

Posted: Fri Oct 04, 2019 11:02 am
by robert
Wolfgang,
Yes please.

Robert

Use of ReportPro 2 in a migrated VO application

Posted: Mon Oct 07, 2019 1:17 pm
by wriedmann
Hi Robert,
the RpReportRDD class has currently the following parameter list:

Code: Select all

METHOD PrintPreview(cJobName AS STRING, cPrint2FileName AS STRING, cCaption AS STRING, cMessage AS STRING, lModal AS LOGIC, nShowState AS INT, nZoom AS DWORD, symPPWindow AS SYMBOL) AS VOID
AFAIK this list is not congruent with the VO version.
So at least the following overload is needed:

Code: Select all

METHOD PrintPreview(cJobName AS STRING, cPrint2FileName AS STRING, cCaption AS STRING, cMessage AS STRING, lModal AS LOGIC, nShowState AS INT) AS VOID
and maybe also this one:

Code: Select all

METHOD PrintPreview(cJobName AS STRING, cPrint2FileName AS STRING, cCaption AS STRING, cMessage AS STRING, lModal AS LOGIC, nShowState AS INT, nZoom AS DWORD) AS VOID
Wolfgang

Use of ReportPro 2 in a migrated VO application

Posted: Tue Oct 08, 2019 7:00 am
by robert
Wolfgang,
In the next build of RP2 I have added default values for most of these parameters

Code: Select all

    METHOD PrintPreview(cJobName := "" AS STRING, cPrint2FileName := "" AS STRING, cCaption := "" AS STRING, ;
cMessage := "" AS STRING, lModal := FALSE AS LOGIC, nShowState := SW_SHOWNORMAL AS INT, ;
nZoom := ZOOM_WHOLE_PAGE AS DWORD, symPPWindow := NULL_SYMBOL AS SYMBOL) AS VOID
That should help, I think.


Robert

Use of ReportPro 2 in a migrated VO application

Posted: Tue Oct 08, 2019 7:43 am
by wriedmann
Hi Robert,

thank you very much!

May I suggest another change: in VO, the report class is RpReport, and in X# the RpReport class is abstract.
I would rename the abstract class to RpReportBase (or any other name), and add three new assemblies that define stub classes called RpReport, inheriting from RpReportRDD, RpReportSQL and RpReportDesigner.
So for migrated applications everyone could decide which assembly to include, and no VO code needs to be changed.
For applications migrated from Vulcan there is no change needed.
Wolfgang

Use of ReportPro 2 in a migrated VO application

Posted: Tue Oct 08, 2019 9:19 am
by robert
Wolfgang,
I'll see what I can do.

Robert

Use of ReportPro 2 in a migrated VO application

Posted: Tue Oct 08, 2019 9:45 am
by wriedmann
Thank you very much, Robert!