XFRX Architecture

The basic architecture

The basic architecture


FoxPro report – The FoxPro report definition, stored in .FRX, .FRT files

Report engine – The reporting engine that processes the report definition. XFRX for VFP 8.0 and earlier contains its own report engine. In VFP 9.0, XFRX plugs into the new reporting architecture and the native report engine is used.

Scripts – Methods or code snippets written in VFP. The scripts call methods of XFRX#DRAW class to “draw” to the generated document. 

You can find more information about using scripts in Drawing custom objects with XFRX#DRAW chapter on page 48.

Custom object scripts – scripts linked to a rectangle object on a report. When the rectangle is being processed, the script is invoked instead of rendering the actual rectangle. The custom object scripts can alternatively be converted to pictures. When these scripts are processed, the controlling table of the report is available, so these scripts are ideal for generating graphs or other data based graphics objects.

Page bound scripts – scripts invoked on each page, drawing either “above” of “below” the page content. These scripts are suited for watermarks.


Custom scripts – you can modify the generated reports, too. You can add text, graphics, new pages, hyperlinks, bookmarks, etc. You can even create new documents from scratch, bypassing the report engine altogether.

XFF File – an internal file that stores the generated reports. These files can be modified, stored to disk, previewed on screen, printed or converted to any of the target formats. You can find more information about XFF files in Using XFF files chapter.

XFRX#DRAW class – the class that wraps XFF files.

XFRX previewer – The XFF files can be previewed in an advanced report previewer that comes with XFRX. The previewer can be localized and allows for search the document and supports hyperlinks and bookmarks. You can find more information about using the previewer in XFRX previewer chapter.

Printer – XFRX is also able to print the XFF files.

Please find more information about printing in Printing XFF files chapter.