The Visual FoxPro Team at Microsoft is enthused to announce Visual FoxPro 9.0.

We'd like to include some details about Visual FoxPro 9.0 as an overview to the more detailed articles in this special issue CoDe Focus issue devoted to Visual FoxPro 9.0.

Visual FoxPro 9.0 Overview

Visual FoxPro 9.0 is fully compatible with pervious versions of Visual FoxPro. With its local cursor engine, tight coupling between language and data, and powerful features, Visual FoxPro 9.0 is a great tool for building database solutions of all sizes.

Its data-centric, object-oriented language offers developers a robust set of tools for building database applications for the desktop, client-server environments, or the Web. Developers will have the necessary tools to manage data?from organizing tables of information, running queries, and creating an integrated relational database management system (DBMS) to programming a fully-developed data management application for end users.

Visual FoxPro 9.0 Goals

Our goals for Visual FoxPro 9.0 were to:

*) Maintain backward compatibility

*) Enhance database language and types

*) Add end user UI features

*) Increase developer productivity

*) Improve the Report Writer significantly

*) Extend .NET and SQL Server interoperability

*) Increase extensibility, including Xbase source code

Visual FoxPro 9.0 Product Highlights

There are so many new features that it's hard to limit the discussion. We'll start with the flexibility to build all types of database solutions, move on to reporting system enhancements, and finish up with data handling and interoperability. But these only touch on some the great new features you'll want to explore on your own.

Flexibility to Build All Types of Database Solutions

Using Visual FoxPro 9.0, you can create .NET-compatible solutions with hierarchical XML and XML Web services. You can also exchange data with SQL Server through enhanced SQL language capabilities and newly supported data types.

You can build and deploy standalone and remote applications for Windows-based Tablet PCs.

You can create and access COM components and XML Web services that are compatible with .NET technology. Visual FoxPro 9.0 allows you to build end-to-end solutions, from data entry forms to complex report outputs.

Reporting System Features

To Visual FoxPro's already strong reporting system, we've added an extensible new output architecture that provides precision control of report data output and formatting.

There's multiple-detail band support for data with multiple one-to-many relationships.

You can customize the Print Preview window with improved display quality and multiple page support. Our new output reports support XML, HTML, image formats, and customizable multi-page print preview windows. The enhanced report writer is backward compatible with existing Visual FoxPro reports. And flexible report chaining allows for more complex print jobs.

The new ReportListener class provides access to report generation and rendering events at runtime.

Powerful design-time hooks with customizable builders make your development experience smoother.

Data-Handling and Interoperability

Three new data types, VarChar, VarBinary, and BLOB, allow for improved interoperability with SQL Server. There are extended SQL language enhancements as well, including more capabilities with SELECT, INSERT, UPDATE, and DELETE statements.

A new function, CAST(), allows you to convert different data types. You can use the new binary index to improve performance using the deleted tag, and the XMLAdapter provides improved nested hierarchical XML and XSD schema support.

There are many improvements to client UI features. You can dock forms, anchor form elements to control movement on a form during resizing, and control the position of images on a button using text alignment.

There's new word wrap support for checkbox captions and rotating text for label captions. Using shapes and lines, you can create polygons and Bezier curves. The property sheet provides support for new font and color display options, extended characters, and long expressions.

You can bind images to non file-based pictures. You can use List and Combo collections as databinding row sources.

Member data extensibility adds the ability to specify custom property editors and favorites. With the extended system capabilities, there are no limits beyond available memory for arrays, procedure size, and nesting levels.

Single line background compiling allows you to see whether or not your syntax is valid as you type command lines.

There are new and improved task panes such as the Data Explorer pane.

There are new string functions and a new inline function?ICASE()?that is similar to DO CASE statements.

For international solutions we've added greater support for using FontCharSets in applications.

Common Questions

As for what will be added to VFP after version 9.0 is released, it is too early to discuss this at the time of writing this article. The VFP team welcomes feedback on how we can improve our developer tools in the future based on what is disclosed for VFP 9.0 and Visual Studio 2005. Details of how we enhance Visual FoxPro, how it is packaged, what it is called, and when updates will be released probably will not be disclosed until the first half of 2005.

A common question is how Visual FoxPro 9.0 relates to Visual Studio 2005 and SQL Server 2005. We improved the XML support in VFP 9.0 which will also improve .NET interoperability. We also added some new data types that will also help for use with both SQL Server 2000 and SQL Server 2005.

VFP 9.0 is scheduled to be released in late 2004, and the schedule for Longhorn is not announced yet. We can only discuss how VFP relates to Longhorn once Longhorn is nearly complete and close to being released.

Although we will not be including native PDF support in Visual FoxPro 9.0, we are working to make it very easy for third parties and FoxPro developers to create a variety of solutions for add-on PDF output support.

We do not have any plans to extend the 2GB database size limit in Visual FoxPro for many reasons, including the 32-bit architecture that already exists within the product. Besides using SQL Server 2000, an additional option is upcoming: SQL Server 2005 Express extends the 2GB limit of MSDE to 4GB total.

Although Visual FoxPro will remain 32-bit and will not use 64-bit addressing natively, it will run in 32-bit compatibility mode. Visual Studio 2005 will support creating native 64-bit applications.

It is up to developers and installing organizations to decide which .NET language is best for them. C# is generally for developers who like to write and control all of their code. It's very source code-centric. Visual Basic is for RAD (rapid application development) and ease-of-use while providing access to the full power of the .NET Framework. For a high level overview of the language differences, refer to the Visual Studio Roadmap at

Visual FoxPro 9.0 Availability

Until March 31st, 2005, the free public beta of Visual FoxPro 9.0 will be available for download at The beta can be installed side by side with Visual FoxPro 8.0 or previous versions of Visual FoxPro. There is a time bomb built into the beta that expires March 31st, 2005. Do not contact technical support for questions, as the public beta is unsupported and is to be used as is.

Visual FoxPro 9.0 is scheduled to be released to manufacturing near the end of 2004 and will be included in all levels of MSDN Subscriptions (Universal, Enterprise, and Professional). For more information about MSDN Subscriptions, refer to MSDN Subscription members will be first to obtain the released version of Visual FoxPro 9.0 (within a few business days of release to manufacturing). The full product, upgrades, and academic editions will be available approximately six to eight weeks after they are released to manufacturing.

Visual FoxPro 9.0 pricing will be the same as it was for Visual FoxPro 8.0: the full product is $649US, the upgrade is $349US, and the academic edition is $75US. For a limited time, a $50 rebate will be offered with Visual FoxPro 8.0 (for the upgrade version only, in U.S. and Canada only) for licensed users of Visual FoxPro 8.0.

To obtain Visual FoxPro, MSDN Subscriptions, FoxPro gear, and more, go to Additional information about Visual FoxPro 9.0 including white papers, samples, and links to third-party resources can be found at

Visual FoxPro 9.0 System Requirements

To install Microsoft Visual FoxPro 9.0 Professional, we recommend:

*) A PC with a Pentium-class processor

*) Windows 2000 with Service Pack 3 or later operating system

*) 64 MB of RAM; 128 MB or higher recommended

*) 165 MB of available hard disk space for a typical installation, 165 MB maximum; 20 MB of additional hard-disk space for Microsoft Visual FoxPro 9.0 Prerequisites

*) A CD-ROM or DVD-ROM drive

*) A super VGA 800 X 600 resolution monitor, or higher, with 256 colors

*) Microsoft Mouse or compatible pointing device