Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Downloads
Search: 

Mind's Eye Report Engine Version 3.5 Posted: 06/06/2008
Rich Simpson, Mind's Eye, Inc.
The Mind's Eye Report Engine is an ActiveX Control that lets you Create, Preview, and Print Reports with Charts quickly and easily. Save them to PDF documents and email them using VFP, VB, Delphi programatically using the ActiveX control's Method's and Properties. Printer Paper Bin and Page Orientation can be set for each individual page within a report.

Updated the MindsEyeReportEnginePro1.OCX file that has Faster Performance, Smaller Size and uses less memory while rendering reports. Also made corrections for rendering Rotated Text. Added support to the MERE_ReportListener class to support the NOCONSOLE clause in the REPORT FORM command to suppress the display of the Report Preview Form. This overrides the MERE_ReportListener.lDoNotShow Property making for a few less lines of code. Mind's Eye is also now offering Competitive Upgrade Pricing for users of XFRX, FRX2ANY and Virtual Print Engine. Check out the Order Now page at: http://www.mindseyeinc.com/ReportEngine/OrderNow.htm A New MERE LITE is available for those users that don't need a user interface but want the high speed PDF rendering offered by MERE. Download a trial version of the MERE LITE control at the website. A New MERE 4.0 is also available which has a new ClassID and ProgID and can be used with VB6. The new MERE 4.0 can be installed on the same PC as the MERE 3.x version of the control since it has a new ClassID and ProgID. Example code has also been posted in C# and VB6 for using the MERE ActiveX control to generate reports programmatically using C#, and VB.

http://www.mindseyeinc.com/ReportEngine

For individual files check out the Downloads page at:
http://www.mindseyeinc.com/Downloads

Created on
21 years ago
Downloads
7331
File type
Commercial
Rating
3.40/5.00
General information
Rating:
3.40/5.00 (5 rates) Rate this item
Description
06/05/2008 Updated both the MERE ActiveX control v3.5 (MindsEyeReportEnginePro1.OCX) and the MERE_ReportListener.VCX Class Library. - New MERE LITE control is also available for developers not needing a GUI interface and wanting to generate PDF reports. - New MERE 4.0 version released with new ClassID and ProgID allowing it to be used with VB6. - New MERE 4.0 can reside on the same PC as a MERE 3.x version of the control. Many Methods and Properties have been removed on the MERE 4 control that are no longer needed when used with the MERE_ReportListener. It also allowed the control to be lightened up as the Delphi VFP Rendering Engine was removed from the codebase as well. There are new Shape Objects being added to the new MERE 4.0 control as well as the ability to import EMF files into native MERE Report Objects allowing for lightweight PDF documents to be rendered instead of converting EMF files to JPG images. - Added example code in C# and VB for using the control with .NET and VB6 languages. - Added more sample code to the Help File for VFP usage 05/31/2005 Updated both the MERE ActiveX control and the MERE_ReportListener.VCX Class Library. - Added Save As Image support to the MERE ActiveX Toolbar allowing end users to save report pages as images directly from the Report Preview. - Added Multi-Page TIFF Support to both the Save as Image and SaveToTIFF() Methods. - The Save to PDF dialog now supports selecting Current Page, All Pages or a Range of Pages. - Added Preview Pane of report pages to the Save to PDF, Save As Image and Print dialog boxes. This allows the end user to see a small preview of the pages in the report and is also used to select the Current Page when rendering to PDF, Save As Image and Printing. - Made fixes to Right Aligned text when rendering from VFP 9 MERE_ReportListener - Fixed missing SWO text when rendering on TwoPassProcess Reports where MERE was using the first pass only with _PAGENO and _PAGETOTAL support built into the MERE ActiveX control which does not require two passes to render page numbers. However, it was discovered that the VFP ReportListener baseclass passes empty strings to the cContentsToBeRendered in the RENDER() Method on the first pass of TwoPassProcess Reports on Stretch With Overflow Report Expressions. So, the optimization code was changed to detect any SWO objects and then render TwoPassReports on the 2nd pass with SWO objects. Rendering report pages as Image Files has always been supported programmatically but now a Save As Image dialog is available. The Save As Image Toolbar Button can be enabled or disabled by setting the DisplaySaveAsImageButton Property of the MERE ActiveX control. Report pages can be saved as BMP, EMF, GIF, JPG, PNG and TIFF. Multi-page TIFF files are now supported as well both from the Save As Image Dialog box and while using the SaveToTIFF() Method. The Current Page, All Pages or a Range of Pages can be rendered to images for all formats. TIFF format is the only one that supports rendering all pages to a single image file. All other formats, render each page to individual files and automatically appends "-00X" to the end of the file name where "X" represents the physical page within the report engine. 05/16/2005 Updated both the MERE ActiveX control and the MERE_ReportListener.VCX Class Library. Updated the MERE ActiveX control to check that fonts from reports are located on the system in the AddText() Method and if a font is not found it is automatically converted to ARIAL to eliminate OLE errors with fonts not found. Improved processing performance by changing the MERE_ReportListener class to skip the 2nd pass of a Two Pass report which VFP performs when it encounters _PAGENO and _PAGETOTAL in a Report Expression. The MERE ActiveX Control does not require two passes to render the _PAGETOTAL values. Created an XML Manifest File which can be used with the MERE ActiveX control to allow the OCX control to be used on a Windows XP or Windows 2003 Server system without registering the control. More information on using the MERE ActiveX control without registering can be found in the Help File. Made a correction to the Preview Engine that was causing an intermittent OLE error when Report Labels from FRX reports where placed onto report pages. 05/02/2005 Refresh posted that updates both the MERE_ReportListener.VCX and the MERE ActiveX control. Resolved an issue with some VFP FRX Labels being cut off in VFP 9 by modifying the MERE ReportListener Class to pass the labels into MERE's AddText() Method statically from the FRX EXPR Field, rather than from the cContentsToBeRendered Parameter in the RENDER Method of the RL, which strips the Carriage Return from the Label string and was not always measuring the same. Corrected a Delphi bug in Borland's Tooltip Control related to the Tooltip being created on a separate thread than the ActiveX control and potentially causing a thread synchronization deadlock contention when a Tooltip was being closed and the mouse pointer was quickly moved out of the ActiveX control's window to another window. Delphi's THintWindow Class used a WaitForSingleObject API function to synchronize the tooltip thread and the Delphi control's main thread. An MSDN article indicated problems with using WaitForSingleObject. I changed the Delphi code to use the MsgWaitForMultipleObjects API function, which correctly synchronizes the threads. This was a bug in Delphi itself and thankfully the source to Delphi's Class Libraries is included in the Professional addition and above. 04/26/2005 Posted an update to the MERE ActiveX control and to the MERE_ReportListener.VCX and MindsEyeReportEngine.VCX Class libraries. Also posted an update to the MindsEyeReportEngineTestForm.SCX Form that now supports testing the new MERE_ReportListener Class as well as the older MindsEyeReportEngine Class under Visual FoxPro 9. It is still highly recommended to use Visual FoxPro 9 and the MERE_ReportListener for the fastest and most accurate report rendering with the MERE ActiveX control. This update fixes a Vertical Alignment issue when using the new ActiveX control with the older MindsEyeReportEngine that is now rendering text using GDI+. 04/22/2005 Posted Mind's Eye Report Engine 3.0 ActiveX control along with the MERE ReportListener Class for use with Visual FoxPro 9. Minor modifications were made to the Mind's Eye Report Engine ActiveX control to add some new features supported in VFP 9 Report Rendering. The install includes the MERE_ReportListener Class which is all that is needed for VFP 9 Report Rendering which is less than 300 lines of code. The heavy lifting is now done by Visual FoxPro 9 and MERE is simply hosting the output. Around 15,000 lines of Delphi code are no longer used in the MERE ActiveX control nor do you need the MindsEyeReportEngine.VCX Class Library when using VFP 9. What a relief! SPEED IMPROVEMENTS: Using the MERE Report Listener Class allows MERE to Render Reports almost as fast and sometimes faster than the native Visual FoxPro 9 Report Preview. MEMORY USAGE: MERE uses less memory while previewing Reports due to it's internal storage of Report Data. All items are stored in a collection and rendered when needed as opposed to pre-rendering pages to EMF images in memory. RENDERING IMPROVEMENTS: MERE ActiveX Text Measuring and Rendering has been rewritten using GDI+ for much smoother Text Scaling. ALPHA LEVEL SUPPORT: Text Rendering to the MERE ActiveX control now can accept Alpha Level settings. PDF Output and Printing support to be added soon. 12/17/2004 Many new features have been added and improvements in rendering to match VFP as well. Also, MERE now supports VFP 5 for anyone who wants to use it with older applications. MERE now supports: PDF Font Embedding Dynamic Property Expression for PaperBin Setting Improved Text Searching similar to FireFox PDF Hyperlink Support added 06/09/2004 PDFStream Method Added The new PDFStream() Method generates a PDF Document just like the SaveToPDF() Method but returns the PDF Document as a String. This method can be used to generate PDF files and send them back to a web server without creating any files on disk that would require later cleanup. I have tested the method with VFP 7, 8 and 9 and have been able to assign a VFP string variable from the PDFStream() Method up to 45+ Megabytes in size and it works. This is larger than the 16MB documented limit for string variables. The STRTOFILE() Function could then be used to write the string to a file on disk if desired. 04/22/2004 DYNAMIC PROPERTY EXPRESSION SUPPORT CHANGE FONT STYLES, FONT COLORS, SHAPE COLORS, SHAPE WIDTHS AND MORE WHILE RUNNING VFP FRX REPORTS - Save Time while Designing VFP Reports by using Dynamic Property Expressions to change Font Styles, Font Colors, Shape Colors, Shape Widths and more AT RENDER TIME! - NO MORE NEED to place Multiple Report Objects onto a Report and then use PRINT WHENs to Hide or Show those different Report Objects just to change the Color or Style of a Font or the Color or Width of a Shape Object. Now you can easily simulate a Bar Graph using a Shape Object. Easily display Report Expressions in Black when a value is positive and in Red when the value is Negative. - Use a Single Line Expression to change the Width of a Shape on the fly at Render Time using a normal FRX Report by entering a Dynamic Report Expression that is Evaluated at Render Time to change the Width of the Shape as the Report is generated. Check out the Sample Reports using the MindsEyeReportTestSuite.APP Report Testing Tool to run the DYNAMIC FONT AND SHAPE PROPERTY EXPRESSION EXAMPLE.FRX or the DYNAMIC SHAPE WIDTH PROPERTY EXPRESSION EXAMPLE.FRX included in the installation's REPORTS subfolder by clicking on the TEST MIND'S EYE ENGINE button. Improved VFP Rendering Engine CHART ENGINE ENHANCEMENTS - Turn 3-D Simulated Effects On/Off - Control the Depth of the 3-D Simulation - Change the Series Label Display Types - and more... 04/05/2004 ATTACH MULTIPLE FILES WHEN SENDING EMAILS - Added support to send additional EMAIL Attachments with emails - New Method EMAILAddAttachment(cFileName) to support adding additional file attachments when sending emails. Use the new EMAILAttachmentCount Property to check the number of files that will be attached and set it to ZERO to clear ALL attachment file names from the list. Files not found are ignored and not sent with the email. - Setting the EMAILAttachmentFileName to an Empty String suppresses the automatic generation of a PDF file when sending EMAIL. However files added using the EMAILAddAttachment Method will still be sent. 03/28/2004 - Corrected many problems with VFP Rendering that have been added to many of the recent BETA releases. - More speed improvements as well as Report Variable processing improvements. - Added a MindsEyeReportTestSuite.APP to the Install that can be used to Browse and view an Analysis Report of an FRX and then perform a MODIFY REPORT. It can also be used to test reports with MERE as well as check out some Demos of using MERE's ActiveX control programmatically on the DEMO Tab. The MindsEyeReportTestSuite Application is a single Form that can be run on in the VFP IDE. You can run multiple instances of the Form as well to look at a couple of different FRX's in the Browse Windows. You can also click on the CHECK FOR UPDATES link in the lower right corner to see if a new build of the Test Tool exists and then be prompted to download it automatically. You can now INSERT A PAGE anywhere into an already rendered Report or INSERT AND ENTIRE FRX REPORT at the beginning of a previously rendered Report. The Report Engine now supports the ability to COPY A REPORT PAGE to the Clipboard at runtime. This can be done interactively or using the new COPYPAGETOCLIPBOARD() method. This feature provides the ability to very quickly copy any page from a report and place it into Word, Excel, Publisher, Visio or any other document supporting metafile clipboard objects. The entire report page is instantly rendered to a Metafile and placed onto the Clipboard. Simply right click over a Report Page and select Copy To Clipboard from the menu, then switch over to MS Word, Excel or Publisher and Paste your Report Page into the document. You can also go the other way and place objects from the Clipboard onto Report Pages at Runtime. This can be done interactively by drawing a bounding box by holding down the SHIFT or CTRL KEY while dragging the mouse or by calling the new ADDFROMCLIPBOARD() Method. So, this allows you to add formatted Word text, Excel Charts, Visio drawings, Publisher drawings and more into your report at runtime. For a quick test of this feature instantiate the MindsEyeReportPreviewForm and then COPY images from Internet Explorer and paste them onto a Page in the Report Preview. Saving Report Pages to BITMAP, JPEG, PNG and METAFILES has also been added via the SAVETOJPEG(), SAVETOPNG(), SAVETOBITMAP() and SAVETOMETAFILE() Methods. There are several optional Parameters when saving to JPEG and BITMAP to control Compression Levels, Image Size and Grayscale. So with a few lines of code you can generate Images or Thumbnails for every page in a Report. Metafiles are fully scaleable and can be inserted into other applications like MS Word, Publisher, Visio etc. A toolbar button will be added in to support saving a Report Page to an Image by the User. OTHER FEATURES ALREADY IMPLEMENTED IN THE BETA: - Assign Each Page to a different Paper Bin - Add Custom Forms to Win NT/2K/XP using PrinterAddForm() and PrinterDeleteForm() Methods. - PrintShrinkToFit Property supported for automatic shrinking of any page to fit the current Page Size/Printer. - Barcodes now saved into PDF document without requiring any Barcode Fonts. All of the Barcodes are painted into the document as graphics. - Charts now support multiple data series in a single chart as well as including a lot of new Chart Properties to manipulate the charts even more. - Tweaked the Line thickness in PDF documents to more accurately match the correct thickness as a printed page. - Improved international support by supporting the SET POINT TO in the VFP VCX class library. OTHER FEATURES: - Save your reports to PDF interactively or programmatically with a single method call. - Email reports using MAPI or SMTP interactively or programmatically with a single method call. - Place multiple charts on Report Pages programmatically. - Barcodes can be rotated to any angle. What really makes the Report Engine Powerful is it's ability to overcome many of the limitations of the standard VFP Report Writer. Now you can have Unlimited Zoom in your Report Previews, Append Multiple VFP Reports of different Page Size and/or Orientation into a Single Report Preview Window, automatically process PAGE X OF Y without making multiple passes on a Report, display Rotated Text, add Watermarks by simply setting the WatermarkText Property and Toolbar Buttons by simply setting Properties. You can even print a single page from a Report Preview without the Report Preview closing. I have already written a VFP VCX Form Class wrapper for the control to make it act like the standard VFP REPORT PREVIEW. There is also a REPORTFORMPREVIEW() Method in the MindsEyeReportEngine CLASS to make running your VFP FRX Reports as easy as the standard REPORT FORM command. All the VFP Source Code is included. With the included VFP MindsEyeReportEngine Class Library you can also run most standard VFP FRX Reports without modification. Running VFP Reports is much faster than other 3rd party VFP Report Engine solutions since almost 90% of the FRX Report Engine processing and layout code has been written in Delphi inside the Mind's Eye Report Engine ActiveX Control. Since the ActiveX control is data independent, you can even write your own VFP, VB or Delphi code to script the Mind's Eye Report Engine by calling the AddText(), AddShape, AddLine(), AddPicture(), AddBarcode, AddChart(), AddFromClipboard(), CopyPageToClipboard(), NewPage(), FirstPage(), LastPage() Methods and more to create Reports of any layout you want data independently. Make a brochure programatically or create a pre-printed form Programatically as a function and then paint your data on top of the form and then email it all at runtime. The possibilities are endless! Also, if you have suggestions or ideas for improvements please let me know and I'll try to incorporate them. Just download the control from the website and run the MindsEyeReportEngineDemo.EXE VFP 7 application to see what it can do and how fast it does it. I think you'll be amazed. All the VFP Source Code and Project files are included. For more information on the control visit: http://www.mindseyeinc.com/ReportEngine/index.htm Since the Report Engine is an ActiveX control you now have a Report Object to work with and manipulate at runtime. It has Properties, Methods and Events to manage and navigate your Report Preview at runtime. Take a look at the FirstPage(), PriorPage(), NextPage() and LastPage() Methods to get an idea of the power of the Report Object. There is even a SendMail method which allows you to send your report as a PDF attachment to an Email with a single line of code after setting a few Email Properties. It works using SMTP or MAPI email and can switch between either by setting a single Property. Print ALL, ODD or EVEN pages without printer driver support for those features as well as Reverse Page Order. You can even Print Multiple Pages Per Page or Export them to PDF as Multiple Pages Per Page as well. There is also a FIND Feature in the Report Preview which will Highlight ALL Occurrences of a text string in your Report Preview. You can even append SEARCH strings so that multiple strings can be highlighted. To clear the Highlighted Strings hold down the SHIFT key while clicking on the FIND button. Extend the functionality of your VFP Reports by simply modifying the included VCX Class Library. For example, with a few parameters you can specify the Location and Size of the your Report Preview window. It is the combination of an ActiveX control and VFP VCX Class Library written to wrap VFP Report functionality around the control. To check out what the Report Engine/Preview control can do. Call the following Method: oRPT.DemoIT() DemoIt() will automates the Report Engine/Preview ActiveX Control to display some of it's capabilities. DemoIt() automatically adds pages, then scrolls through the pages, then ZOOMS In and Out, then adds Watermarks and Rotates them, shows the Dynamic Margins, etc. All of the Automation is done by simply using VFP to call the Methods of the ActiveX Control. Hopefully, it demonstrates some of the possibilities that this control possesses. Until you purchase a license, the control displays and prints a Demo Watermark across each page including PDF Output. Saving to PDF is extremely fast and extremely accurate. It can save a 700 page report with text, shape and line in under 30 seconds on a PIII 750MHz system. The PDF output also supports a separate JPEG and BITMAP compression quality value. This way you can set 100% compression for BITMAP screen shots and save a lot of space but without artifacts while compressing family photo JPEG images at 50% to save more space with a little bit of artifacts. There are Properties to control captions on dialogs as well as setting default fonts and page size as well as displaying a printable Calendar Overlay on pages which automatically advances the Calendar month on each successive page. All text added is located at the Baseline of the selected Font at the HPOS, VPOS passed. The Professional Version adds support for Charts, Exporting Reports directly to a PDF document (NO PDF Printer Drivers required), built in SMTP Email support to Email your Reports as PDF Attachments directly from the control by clicking on the EMAIL REPORT AS PDF Button on the toolbar and print Barcodes without requiring Barcode Fonts. Add Charts to Reports at Runtime by calling the AddChart() Method. Even change the Chart Type at runtime by simply changing the ChartType Property. DemoIT() - Demonstrates the ActiveX Controls capabilities using VFP to Automate the control calling it's Methods. This Method adds some dummy report pages to the control and then scrolls through those pages, ZOOMS IN and OUT, then adds a Watermark to the first page and then dynamically changes the Rotation Angle of the Watermark on the fly, then it adds Watermarks to every other page, then clears the report pages and then adds pages of different Orientations into a single report, finally 1000 pages are added to the Report to show how fast scrolling through pages can be. You can programatically call the SaveToPDF() Method of the ActiveX control with optional parameters to automatically have the PDF file opened by the default viewer. Since the control holds the static output data in memory/swap file the tables DO NOT have to remain open after populating the control. Additionally, it will not have problems calling UDF's multiple times or have records changing while Previewing the report. Feedback is always welcome and appreciated. So if there are more features you would like to see or improvements made please let me know. Thanks!
Created by
Rich Simpson, Mind's Eye, Inc.
I am an Aerospace Engineer by degree and have been trained to problem solve. I have been writing FoxPro applications since 1986, when it was FoxBase. I have used FoxPro from 1.0 to VFP 9.0. I have written several commercial products that are available from our web site. Right now in my "spare" time, I'm writing a replacement for the VFP Report Preview and Report Engine with features for ZOOM up to 100,000% and direct Save to PDF documents. For more information go to: http://www.mindseyeinc.com/R...

Comments
How do I can test the sample in VFP? Thanks, Luca Luca Meroni, September 12, 2002

More downloads created from this member
Rich Simpson, Mind's Eye, Inc.
The Mind's Eye Report Test Suite Tool is a VFP app consisting of a single VFP FORM compiled using VFP 7. It has been tested to run under VFP 8 and should also run under VFP 6. You can use it to analyze Visual FoxPro FRX reports and view an informational report about the FRX. It can also automatica...
Created on
20 years ago
Downloads
671
File type