Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Reportbehavior 90 s...l...o...w???
Message
 
À
29/04/2005 03:11:06
Information générale
Forum:
Visual FoxPro
Catégorie:
Gestionnaire de rapports & Rapports
Divers
Thread ID:
01002833
Message ID:
01009800
Vues:
15
> very interesting, in deed. By the way, I notice that you have updated the MERE for VFP9
> just a few days ago, will you please tell me what's new? Your list of New features
> are getting not so new anymore... :-)

Hi Tore,

The newest thing is that when using VFP 9 is that you now use a ReportListener Class to process and run VFP Reports and load them into the Mind's Eye Report Engine ActiveX control. Therefore, rendering issues go away as my VFP/Delphi code is no longer trying to emulate the VFP Report Engine. So, there is also a LOT less code to update and maintain for Visual FoxPro Reports. There was a lot of code at least a few thousand lines or more of VFP code in the older MindsEyeReportEngine Class Library which is no longer used in VFP 9. It is completely replaced by a few hundred lines of code if that in the new MERE_ReportListener Class Library. Also, almost 15,000 lines of Delphi code which was my FRXENGINE code is not used at all when using the MERE_ReportListener class code. The MERE RL just calls the MERE ActiveX AddText(), AddShape(), AddLine(), AddBarcode() and AddPicture() Methods to pass the output of the RENDER() Method of the native VFP ReportListener class into the MERE ActiveX control. So, it is blazing fast and usually can outrun the native VFP Report Preview in rendering time which I thought was pretty impressive especially if you allow VFP 9 to display the progress bar which really slows down the native VFP 9 Report Preview.

I made some updates to the parameters in some of the MERE methods to support Alpha Levels and such. All of the Text Rendering on the Preview and Printing inside of MERE is now done using GDI+ which provides for much smoother scaling and better alignment matching.

I updated the MindsEyeReportEngineTestForm to support testing the old MindsEyeReportEngine Class and compare it to the new MERE_ReportListener class side by side when running VFP 9. It also lets you easily test run the VFP native Report Engine in both 80 and 90 behavior against the MERE output and displays the performance for each of the different engines as well.

One cool thing about rendering VFP reports into the MERE ActiveX control is that MERE has real time page numbering and so appending multiple reports in MERE properly displays the correct PAGE X OF Y output. Natively appending two 3 page reports in VFP produces Page 1 of 3, 2 of 3, 3 of 3, 4 of 6, 5 of 6 and 6 of 6. The MERE_ReportListener passes in the Report Expression into MERE using the AddReportField() Method instead of the VFP rendered string which then displays the _PAGENO and _PAGETOTAL values rendered in real time when viewing or printing a page in the MERE control. So, it really doesn't need two passes and ignores the first pass on TWO PASS reports. So, I just need to figure out an easy way to make VFP not render two passes when it finds an _PAGENO or _PAGETOTAL variable in an FRX and MERE can run even faster. <g>

All in all running MERE with VFP 9 makes the new ReportListener Class and MERE shine.
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform