LAFox BootCamp VIII
Visual FoxPro 9 Report Writer
Presenters: Lisa Slater Nicholls and Colin Nicholls
Saturday, September 29th 8:30am
This session provides an overview of the VFP 9 Object-Assisted Report System.
It's important to understand the changes in the product and how they fit together
with the Xbase components. We'll provide an inside look at the ReportListener
base class and examine its most significant PEMs. You'll see how the integrated
Report System fits the three new Xbase Report applications (Builder, Preview,
and Output) together with the VFP9 product changes to provide new-style VFP
This session shows you how to leverage the shipping REPORT*.APP components and
FFC reporting extensions, to improve and extend VFP report output.
You'll see how to build a preview extension, how to manage the ReportListeners
that VFP invokes by default for various types of output, and how to add some features
to the Builder. We'll also take a look at the Protection feature, which you can
use to make reporting more fun for end users.
We'll look at various ways that you can use ReportBuilder hooks to personalize
the report design experience, in ways appropriate to both developers and end-users.
In this session you will learn to use the many new and enhanced features provided
in VFP-Sedna reporting. You will see how they can be used in the VFP9-SP1 product,
and what changes in the VFP9-SP2 base product make them even better. We will review
new Report Builder dialog features, which expose Dynamic and Scripting capabilities.
We'll highlight the new Advanced Properties feature: a simple way to add features
and capabilities into reporting without extending the structure of the LBX/FRX
format. You'll find out what Advanced Properties are included in-the-box, and
how to use them. You'll have a look at new capabilities provided in the Extension
Output Types (XML and HTML).
We'll discuss performance enhancements in both the Xbase components and SP2 base
product, and other bonus enhancements such as new file-handling output features
in the FFC ReportListeners.
This session demonstrates techniques of data visualization using the features
of the Report Builder and FFC ReportListener classes in VFP 9.0 SP2. We will
see how the reporting system architecture made the SP2 enhancements possible,
and learn techniques to add your own improvements. We will build a custom reporting
control, touching on GDI+, and see how to add custom elements to the Report
Builder user interface, without hacking the Xsource. You'll learn about using
reporting extension metadata (memberdata) without ever touching XML, and how
to add extension objects into the default report output processing.
This session teaches you practical techniques for using VFP 9 reporting - in some
cases, applicable whether you're using object-assisted reporting or not.
We will discuss appropriate use of external data sources, such as SQL Server
and MySQL, and the ways that cursoradapters and improvements to dataenvironment
class handling in VFP 9 reports fit into an external data strategy. You will
learn about useful ways to expose data in multiple data sources, using multiple
detail bands, and see some additional tricks that multiple detail bands can
perform. Next, we'll consider what you need to know to deploy VFP HTML and XML
reports in web server scenarios.
Time permitting, we'll include a quick examination of the VFP-RDL (the XML report
output schema), as a rich, intermediate reporting format with many uses beyond
We think of this session as "the session-and-a-half". We are going
to speak frankly about several aspects of a very large subject: what happens
when your users hand you a FoxPro application and ask for massive change?
First, we'll quickly run through something we like to call "Migrating FoxPro
for Windows 2.x applications to VFP in a Day". It's a story of a large, poorly
written FoxPro for Windows 2.x application, why it had to be up-migrated,
and how we did it, including various interesting aspects of migrating its
large and critical reporting subsystems to the VFP 9 Reporting system.
Is the approach we're going to show you the only way to migrate an application?
No, of course it's not. There are other ways - when you have time, money,
and user approval for re-architecting. What we'll show you is one ruthless
way you can use when you don't have those things.
While we think this scenario will continue happening in all our lives for
some times, its real significance is the attitude with which we face other
migration issues in the future. So after reviewing it briefly, and with this
context, we'll turn to that future. We'll consider some aspects of migrating,
or blending, VFP code to use upcoming Microsoft technologies. No matter what
your users' latest request and how that request has been put to you... what's
likely to work well, and what isn't, and why? What really matters, and what
Disclaimer: We have demonstrations of working techniques, opinions, suggestions,
and tips. Since we are self-employed, the opinions do reflect our
employer <g>. They also reflect our continuing interest in the use of
XML for integration scenarios and our research on this topic, as commissioned
by Microsoft. They do not, in certain cases, match Microsoft's idea of what
the future should look like, and they most certainly do not reflect a crystal
ball. Feel free to argue <g>.