Conversion Strategy

Despite the high level of compatibility between the various versions of FoxPro and Visual FoxPro, converting from one to another is never going to be a purely automatic process. The closest that you can get to this is the route of Functional Conversion but, although this will be a very quick process requiring minimal effort, you will deliver a product which looks like a ten-year-old application from Windows 3 and which has none of the modern facilities which users have come to expect.

The work of converting the program logic and the data structure is minimal. All the hard work comes with the conversion of the user interface. This work falls into three categories:

  • Object orientation
  • New controls
  • New style

Object orientation

The conversion to object orientation is due to the change in the programming model from version 2 to Visual. Visual FoxPro includes two converters which will do the bulk of that work. These converters are not perfect but, if it were not for the other two factors below, then we could live with their shortcomings.

New controls

New controls have been introduced to the Windows user interface since FoxPro 2. We now have grids and pageframes in FoxPro, we have access to a wide range of ActiveX controls, and we have the ability to provide seamless links with office software such as Word and Excel. Users appreciate the ease of use that these new features have brought and they would not like to see them missing from their "new" database.

Style

FoxPro 2.6 ran under DOS, Windows, Macintosh and Unix. The style of the user interface has changed a great deal since then and the converted database would look very out of place on a Windows XP computer if it still used the colours, fonts and styles of Windows 3. A modern application makes much greater use of graphical elements whereas a converted FoxPro 2 database will use text everywhere.

Why stick with FoxPro?

Given that the best way of converting the database is to rewrite it then the question of which language to use must be considered. There are two major advantages to sticking with Foxpro: language and data structure:

Language

The user interface is only part of a database application. The business logic behind that interface exists as procedures and functions in FoxPro 2 and these procedures and functions can be transferred unchanged into Visual FoxPro. If a completely new application were to be designed and built in Visual FoxPro then these algorithms would be implemented as methods of classes. Even then though, the methods have to be written using the FoxPro procedural language and much of the code from the FoxPro 2 routines will be transferred unchanged.

Data structure

Visual FoxPro supports all the data types used in earlier versions of FoxPro for DOS and Windows. The only unsupported type from earlier versions is the Macintosh Picture type but, as VFP no longer runs on Macintosh, that is understandable. If the database were to be rewritten in another language then there would be issues with the minor incompatibilities and inconsistencies in data types. Names of tables and fields may also have to be changed so you will need some sort of master cross-reference document.

Visual FoxPro can share data files with earlier versions of FoxPro. If a new database were to be used then all the old data would have to be converted and all users would have to change simultaneously and completely from the old to the new system. There would be no possibility of easing the transition with a period of parallel running and no possibility of reverting to the older system in an emergency. The data compatibility between FoxPro and Visual FoxPro allows you to take an incremental approach to the changeover.

You can start the changeover by converting just one module of the application to Visual FoxPro. If you build that module as a self-contained executable then you have two ways of integrating it with the old application. One is to remove that option from the old menu and give the users a new shortcut to the new module on their desktop. The other is to modify the old menu so that the appropriate option actually calls your new module rather than using the original code.

The possibility of parallel running, of an incremental changeover, and of having the fallback position of reverting to the old application makes an upgrade from FoxPro to Visual FoxPro very much easier, cheaper and less risky than a conversion to another language.


Introduction | Data | Program code | Menus | Reports | Screens | Strategy

MS Access technical tips

Visual FoxPro technical tips

General Tips

 

More tips from Alvechurch Data

Converting from FoxPro 2 to Visual FoxPro

Converting from FoxPro 2 to Visual FoxPro

Converting applications from FoxPro for Windows to Visual FoxPro

Read More

Converting FoxPro 2 data files to Visual FoxPro

Migrate data from a DOS or Windows FoxPro 2 system to Visual FoxPro

Read More

Converting FoxPro 2 program code to Visual FoxPro

Converting program code from FoxPro version 2 to Visual FoxPro

Read More

Converting FoxPro 2 menus to Visual FoxPro

Converting the menu from a Fox 2 database into Visual FoxPro

Read More

Converting FoxPro 2 Reports to Visual FoxPro

Converting reports from a Fox 2 database into Visual FoxPro format

Read More