Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

Evaluation version quick tip

For a quick preview of the capabilities of XFRX, unpack the whole zip archive to an empty directory and run DEMO.SCX.

XFRX consist of the following parts:

  • XFRX.APP, XFRX.FXP, XFRX.PRG
    This is the main application. The demo version contains XFRX.APP, the commercial version is distributed as XFRX.FXP for easier compilation into target applications (Please see Distributing XFRX with other applications below). The source code options are distributed as XFRX.PRG.
  • XFRXLIB.FLL, HNDLIB.DLL, ZLIB.DLL
    Support libraries. ZLIB.DLL is a freeware compression utility, please see http://www.zlib.org for more information
  • XFRXLIB directory 
    This directory containing the XFRX previewer component class library and its resource files

The installation is very easy: simply unpack the zip archive and make sure the files are accessible from VFP (they can either be placed in a local directory or the path can be set via the SET PATH command).

2.1 How XFRX handles different version of Visual FoxPro

XFRX for VFP 8 contains its own report engine that mimics the behavior of the native Visual FoxPro report engine.

XFRX for VFP 9 is implemented as an XFRXListener class, a descendant of UtilityReportListener class (please see _REPORTLISTENER.VCX in FFC for more information about the basic report listener classes provided by FFC). The XFRXListener class complies with the object-assisted reporting standards introduced in VFP 9 and perfectly fits into the new open architecture. You can use it alone or in combination with other report listeners provided with the product or by third parties.

About 95% of XFRX is written in Visual FoxPro and, to make the deployment as easy as possible, all its source code (without the visual classes for the report previewer container) is in one PRG file, both for VFP 8.0 and VFP 9.0: XFRX.PRG. This PRG file is the same for all VFP versions.

If you purchase XFRX without source codes, you will be able to download XFRX.FXP compiled in the VFP version you are using.

If you purchase the source code, before you add XFRX.PRG into your project and compile it, you need to enable (uncomment) one of the #DEFINE commands at the beginning of XFRX.H, which determines the VFP version you are using.

Example: If XFRX is used in VFP 8.0, the beginning of XFRX.H would look like this:

*#DEFINE VFP5
*#DEFINE VFP6
#DEFINE VFP8
*#DEFINE VFP9

(Please note there is not a constant for VFP 7.0. If you are using VFP 7.0, uncomment the VFP6 constant).

2.2 Differences between XFRX for VFP 8.0 and XFRX for VFP 9.0

As written in the previous paragraph, XFRX for VFP 9.0 uses the native report engine, which results in the following advantages:

  1. The layout of the documents produced by XFRX for VFP 9.0 should generally be more exact as the same engine is used both for printing and for document generation.
  2. XFRX for VFP 9.0 is approximately twice as fast as XFRX for VFP 8.0.
  3. Variables declared as LOCAL are not visible in XFRX for VFP 8.0.
  4. XFRX for VFP 8.0 has some restrictions in handling the data environment. It is able to set up the data environment, open tables, setup relations and fire the data environment methods, but the data environment instance itself is not available. This restriction does not apply to VFP 9.0.
  5. XFRX for VFP 9.0 is able to display any content of general fields, including ActiveX components. XFRX for VFP 8.0 is able to extract just BMP and JPEG pictures from the general fields.
  6. XFRX for VFP 8.0 does not support multicolumn layout where records are laid from left to right (rather than from top to bottom). This limitation does not apply for VFP 9.0.

2.3 Distributing XFRX with other applications

The best way to distribute XFRX is to include XFRX.FXP (or XFRX.PRG, if you purchased the source code option) into the target application’s exe (add it to your project, to the section where your PRGs are). This way, you won’t have to distribute this file and, more importantly, XFRX will be able to access the reports and other resource files (pictures, tables, etc.) built into the exe as well.

If you are using the XFRX previewer, add the appropriate files from the XFRXLIB directory to your project as well.

The support libraries (XFRXLIB.FLL, HNDLIB.DLL and ZLIB.DLL) cannot be included in the exe and need to be distributed along with the application. They need to be located either in the same directory where the main EXE is or in a directory defined in SET PATH command.

2.4 Two versions of XFRXLIB.FLL

There are two versions of XFRXLIB.FLL available that you can use with XFRX. The reason of this is that the “normal” XFRXLIB.FLL version requires three other DLL libraries from Microsoft to be installed on the target computers: gdiplus.dll, msvcr71.dll and msvcp71.dll. If you try to use XFRX with XFRXLIB.FLL without these DLLs installed, SetParams method will return -6, “xfrxlib.fll cannot be loaded (it is missing or invalid)”.

All of these dll libraries can be downloaded from Eqeus or Microsoft website:

These libraries can be distributed with your application (they are also distributed with VFP 9.0), but sometimes you may not need the gdiplus features in XFRXLIB.FLL and it may be easier to use a no-gdi+ version of XFRXLIB.FLL. This library is located in the NOGDIP subdirectory in the evaluation as well as commercial version package.

The following table indicates features not available in the no-GDI+ version if XFRXLIB:

 

GDI+ version

No-GDI+ version

Exporting reports as pictures

Yes

No

Printing

Yes

No

Supporting BMP and JPG pictures in PDF

Yes

Yes

Supporting other picture formats in PDF

Yes

No

Converting report pictures to defined DPI

Yes

No

Exporting contents of general fields in VFP 9

Yes

No

Exporting BMP and JPG pictures from general fields in VFP 8

Yes

Yes

Binary comparison of images to reduce the size of PDF documents

Yes

Yes

  • No labels