What's New in Visual FoxPro 6.0

Listed here are the new features and enhancements made to Visual FoxPro. Details are covered in Part 11, What's New in Visual FoxPro, in the Programmer's Guide.

Access & Assign Methods

These user-defined methods let you execute code when the value of a property is queried or when you attempt to change the property’s value. Benefits are that you can create a public interface for a class or object that separates the interface from the implementation, you can easily implement property validation, and you can easily protect properties in subclassed ActiveX controls.

Active Documents

An Active Document is a Windows-based, non-HTML application embedded in a browser, providing a way for the functionality of that application to be accessible from within the browser interface. Visual FoxPro Active Document applications are like any other Visual FoxPro applications in that you can run forms, reports, and labels, instantiate classes, run code, and manipulate data, but they have the added advantage of being hostable in an Active Document container, such as Internet Explorer.

Application Framework and Builder Enhancements

Visual FoxPro 6 provides enhancements to the Application Framework and to the Application Builder that add functionality through new methods a user interface features.

Wizards Enhancements

Visual FoxPro 6 provides improvements to the Setup and Web Publishing wizards.

Component Gallery

The Component Gallery is a new tool that helps you to group and organize objects such as class libraries, forms, buttons, and so on, into object, project, application, or other groupings. These visual groupings are dynamically customizable so that you can use, duplicate, or rearrange components among several classifications within the Component Gallery. The Component Gallery also contains new Visual FoxPro foundation classes that provide “right-out-of-the-box” functionality.

Coverage Profiler Application

A coverage application writes information about which lines of code in a file were run. A profiler application provides information about which lines actually run, how many times a line is run, duration, and more. Coverage and profiling enable a developer to identify problem areas in an application, especially skipped code and performance bottlenecks. The Visual FoxPro Coverage Profiler provides a Coverage engine that you can use or customize, and a multiwindow application that you can use to analyze programs and projects.

Visual FoxPro now provides improvements in the precision of the internal coverage log.  Duration measurements for execution of application code has been increased from 3 to 6 digits. The Coverage Profiler now displays these profile times. The Coverage Profiler now includes a new Find dialog to allow for searches of expressions within covered code.

GIF & JPEG Support

To further support Internet interoperability, Visual FoxPro has been enhanced to support the GIF (Graphics Interchange Format) and JPEG (Joint Photographic Electronic Group) graphic file formats.

HTML Help

HTML Help is the Microsoft solution for bringing Help content to the Internet world. Visual Studio comes with HTML Help Workshop so that you can create and distribute HTML Help files with your Visual FoxPro applications.

Language Elements (new and enhanced)

The Visual FoxPro language has been enhanced to simplify programming tasks. Also, many of the file name manipulation functions available in Foxtools.fll, a Visual FoxPro API library, have been added to Visual FoxPro.

There is substantial coverage in Automation Server Improvements of concepts you’ll use in developing thread safe Automation server applications, you can also get information on these enhanced and new commands in Visual FoxPro 6 in Help.

Enhanced Commands

Visual FoxPro 6 includes small but important changes to the following commands and features:

New Commands

To provide better support for Automation server development, Visual FoxPro has added the BUILD MTDLL command for developing multithreaded components. You’ll also find support for the new Visual FoxPro run-time library in the Build Options dialog box and in the Server tab of the Project Information dialog box.

Visual FoxPro 6 also includes the AddLineFeeds Property EditBox control enhancement

Objects, Properties, Events, Methods

Visual FoxPro 6 enhances support for Active documents by updating the CommandTargetQuery and CommandTargetExec Event events of the ActiveDoc class.

The following commands provide changed or enhanced behavior, or better documented features.

Feature Change
BeforeBuild Event New nBuildAction value
BUILD Method New nBuildAction value
ProcessID Property New Application Object property
Session Object New class
StartMode Property New value
ThreadID New Application Object property
AddObject Method Server additions to the documentation

New Visual FoxPro Runtime Library

Visual FoxPro 6 significantly improves support for Automation. You can still use the original Visual FoxPro run-time, vfp6r.dll, in your applications. If you are developing in-process (DLL) COM components that need superior thread safety, consider using the new reduced command set run-time, vfp6t.dll.

Server enhancements in Visual FoxPro 6 provide better scalability, and improved array handling in COM objects.

VFPCOM.DLL Utility

Visual FoxPro 6 includes a new component in the Tools folder to extend Visual FoxPro’s interoperability with other components. VFPCOM is a COM server which can be accessed using the CREATEOBJECT( ) function.

OLE Drag & Drop

Visual FoxPro now supports OLE drag-and-drop, a powerful and useful tool that allows you to move data between other applications that support OLE drag-and-drop (such as Visual Basic, Windows Explorer, Microsoft Excel and Word). In a distributed Visual FoxPro application, you can move data between controls in the application, or between controls and other Window applications that support OLE drag-and-drop.

Project Manager Hooks

In previous versions of Visual FoxPro , the only access to projects is direct .dbf-like manipulation of the .pjx file or its Project Manager window based on the Window Title. In order to give programmatic access to the Project Manager, we have implemented a Project object association model. The model consists of the project, a Project object and its associated ProjectHook object. The Project object is instantiated whenever a project is opened (via CREATE PROJECT, MODIFY PROJECT, BUILD APP, etc). The Project object acts as a medium between the open project and the Visual FoxPro IDE, and allows developers to interact directly with the project. The Project object also instantiates a ProjectHook object, which is used for event notification.

Automation Server Improvements

Visual FoxPro offers improved, more robust automation servers that work better with products and technologies such as Microsoft Transaction Server, Microsoft Visual Basic, and Active Server Pages.

Wizards and Builders (new and enhanced)

Besides enhancements to several existing wizards, Visual FoxPro comes with new wizards and builders that help you to build applications, create databases, publish your data on the Web, perform object modeling, and create your own wizards.

Year 2000 Date Support

Several language enhancements have been added to Visual FoxPro to support the Year 2000 date in application code.