History
FoxPro originated as a member of the class of languages commonly referred to
as "xBase" languages, which have syntax based on the dBase programming language. Other
members of the xBase language family include Clipper and Recital. (A history of the early years of
xBase can be found in the dBase article.)
Visual FoxPro, commonly abbreviated as VFP, is tightly integrated with its own relational database
engine, which extends FoxPro's xBase capabilities to support SQL query and data manipulation.
Unlike most database management systems, Visual FoxPro is a full-featured, dynamic programming
language that does not require the use of an additional general-purpose programming environment.
It can be used to write not just traditional "fat client" applications, but also middleware and web
applications.
In late 2002, it was demonstrated that Visual FoxPro can run on Linux under the Wine Windows
compatibility suite. In 2003, this led to complaints by Microsoft: it was claimed that the deployment of
runtime FoxPro code on non-Windows machines violates the End User License Agreement.[6]
Visual FoxPro had a rapid rise and fall in popularity as measured by the TIOBE Programming
Community Index.[7] In December 2005, VFP broke into the top 20 for the first time. In June 2006 it
peaked at position 12, making it (at the time) a "B" language. By September 2010, FoxPro and its
variants had fallen out of the top 50, where it has remained ever since.
In March 2007, Microsoft announced that there will be no VFP 10,[8] thus making VFP9 (released to
manufacturing on December 17, 2004) the last commercial VFP release from Microsoft. The support
of Version 9 is ongoing with service packs that were released December 8, 2005 and October 11,
2007.
At the time of the end of life announcement, work on the next release codenamed Sedna (named
after a recently discovered dwarf planet) which was built on top of the VFP9 codebase had already
begun. "Sedna" is a set of add-ons to VFP 9.0 of xBase components to support a number of
interoperability scenarios with various Microsoft technologies including SQL Server 2005, .NET
Framework, Windows Vista, Office 2007, Windows Search and Team Foundation Server (TFS).
Microsoft released Sedna under the Shared source license on the CodePlex site. Microsoft has
clarified that the VFP core will still remain closed source. Sedna was released on January 25, 2008.
[9]
As of March 2008, all xBase components of the VFP 9 SP2 (including Sedna) were available for
community-development on CodePlex.
In late March 2007 a grassroots campaign was started by the Spanish-speaking FoxPro community
at MasFoxPro[10] ("MoreFoxPro" in English) to sign a petition to Microsoft to continue updating Visual
FoxPro or release it to the community as Open Source. On April 3, 2007 the movement was noted
by the technical press[11]
Also on April 3, 2007 Microsoft responded to the petitioner's requests with this statement from Alan
Griver:
"We're very aware of the FoxPro community and that played a large part in what we announced on
March 13th. It's never an easy decision to announce that we're not going to release another version
of a product and it's one that we consider very carefully.
"We're not announcing the end of FoxPro: Obviously, FoxPro applications will continue to work. By
some of our internal estimates, there are more applications running in FoxPro 2.6 than there are in
VFP and FoxPro 2.6 hasn't been supported in many years. Visual FoxPro 9 will be supported by
Microsoft through 2015.
"For Microsoft to continue to evolve the FoxPro base, we would need to look at creating a 64-bit
development environment and that would involve an almost complete rewrite of the core product.
We've also invested in creating a scalable database with SQL Server, including the freely available
SQL Server Express Edition. As far as forming a partnership with a third-party is concerned, we've
heard from a number of large FoxPro customers that this would make it impossible for them to
continue to use FoxPro since it would no longer be from an approved vendor. We felt that putting the
environment into open source on CodePlex, which balances the needs of both the community and
the large customers, was the best path forward."
Picture /capabilities
Microsoft Visual FoxPro gives you more of everything you have come to expect in a database
management system (DBMS) speed, power, and flexibility. In addition, Visual FoxPro leads you into
the next generation by providing object and event models that help you create and modify applications
faster than ever before.
The following topics walk you through some of the major features in Visual FoxPro. For information on the
newest enhancements in this version of Visual FoxPro, see What's New in Visual FoxPro.
In This Section
Rapid Application Creation
Discusses how you can develop applications rapidly with help from Visual FoxPro wizards,
builders, toolbars, and designers, and implement them quickly using the Visual FoxPro object and
event models.
Advantages of More Power
Describes how you can take advantage of Visual FoxPro's object-oriented programming
capabilities as well as features such as Rushmore Query Optimization technology to improve
performance and speed up application development.
User Interface Creation without Programming
Discusses the powerful controls provided by Visual FoxPro that give you interfaces that require
little or no coding.
Application Development with Several Developers
Discusses using Visual FoxPro to enable simultaneous access to database components and
using source control programs with the Project Manager to track and protect changes to your
source code.
Interaction with Other Applications
Provides information about sharing data with other applications, such as Microsoft Excel and
Microsoft Word, using objects from other applications, and controlling other applications using
automation.
Client/Server Solution Development
Discusses how you can use Visual FoxPro as a front end for developing robust client/server
applications. It combines the higher-level support of updatable views of server data with direct
access to native server syntax using SQL pass-through.
Related Sections
Getting Started with Visual FoxPro
Provides links to information about installing, upgrading, and customizing Visual FoxPro, as well
as accessing the latest readme files.
Using Visual FoxPro
Provides information on Visual FoxPro programming features and productivity tools, as well as
sections on development of Visual FoxPro applications.
Samples and Walkthroughs
Provides examples of common scenarios and step-by-step guides that enable you to learn how to
create different types of applications and components in Visual FoxPro.
Customizing the Visual FoxPro Environment
Discusses settings that enable you to customize your development environment, including the
main window title, default directory, project, editor, debugger and form tool options, temporary file
storage, field mappings for drag-and-drop operations, and many other options.
Developing Visual FoxPro Applications
Includes conceptual information about how to develop Visual FoxPro applications, instructions for
creating databases and the user interface, and other tasks needed to create Visual FoxPro
applications.
Programming in Visual FoxPro
Describes how you can access the full power of Visual FoxPro by creating applications.
Understanding object-oriented programming techniques and the event-driven model can
maximize your programming productivity.
Development Productivity Tools
Provides information on developer tools for application development within the Visual FoxPro
application and the language.
Shamelessly copied from VFP help, and pasted here for reference purposes
Category
Feature
Maximum #
Maximum s
Maximum #
Maximum #
Maximum #
Maximum #
Maximum #
Maximum #
Maximum #
Maximum #
Maximum #
Maximum l
Field Characteristics
Maximum s
Maximum s
Maximum n
Maximum n
Minimum v
Maximum v
Digits of pr
Variables and Arrays
Default # o
Maximum #
Maximum #
Maximum #
Program and Procedure Files
Maximum #
Maximum s
modules(4)
Maximum #
Maximum #
Maximum #
Maximum #
Maximum #
Maximum #
Report Designer Capacities
Maximum #
Maximum l
Maximum #
Maximum l
Other Capacities
Maximum #
Maximum #
Maximum #
Maximum #
Maximum #
Maximum #
Maximum #
Maximum k
Maximum f
1 If one or more fields allow null values, the limit is reduced by one to 254 fields.
2 Limited by memory and available file handles. .cdx files use only one file handle.
3 If the collating sequence is set to MACHINE, each character uses one byte. If the collating
sequence is not set to MACHINE, each character uses two bytes. If the indexed field supports null
values, one additional byte is used in the index key. Note that non-machine indexes are always
compact.
4 A program module is one procedure. A program or application can contain an unlimited number of
program modules.
Other miscellaneous limits should be listed in the VFP System Capacities documentation.
Maximum Number of Bytes Read Using Low-Level Functions
http://support.microsoft.com/default.aspx?scid=kb;en-us;105043&Product=fox
65,535 bytes is the maximum number that FREAD() and FGETS() can read at one time.
The maximum file size purported, but not documented, to be read by LLF I/O is 2Gb.
Microsoft Visual FoxPro is a discontinued product. This will have an important impact
oncompanies that have investments based on this technology. The degree and cost of that impact
will
vary by company and industry.
Companies that use Visual FoxPro for mission critical programs should be making plans for retiring
these systems. Those with major systems (i.e., systems with more than six manmonths of effort)
should begin making plans sooner than later to allow adequate time for redevelopment, testing and
deployment.
Installation process
See:
File Properties
See the following topics for more detailed information about manipulating the target machine registry:
See:
Registry Editor
Registry Properties
See:
Associations Editor
See:
VFP6RUN.MSM
MSVCRT.MSM
OLEAUT32.MSM
The files MSVCRT.MSM and OLEAUT32.MSM ship with Visual Studio Installer. You can find these and
other merge modules in the directory c:\Program Files\Microsoft Visual
Studio\Common\Tools\VSInst\BuildRes.
Note The files contained in MSVCRT.MSM and OLEAUT32.MSM are automatically installed by
Windows 2000. Therefore you do not need to add these merge modules to the Installer project if you
know the application will only be installed on Windows 2000.
Save the file VFP6RUN.MSM (available from the sample download at the top of this article) to the
directory with the other merge modules.
1. Choose Add Merge Module(s) from the Project menu.
2. In the Browse for Merge Module dialog highlight the file VFP6RUN.MSM and choose Open.
The VFP6RUN.MSM merge module installs and properly registers the Visual FoxPro 6.0 run-time
libraries. Refer to Using Microsoft Visual Studio Installer for Distributing Visual FoxPro 6.0 Applications for
a reference guide to other available merge modules that ship with Visual Studio Installer.
or
Installer
3.
Note For information about these options, see the Build Tab (Project Properties Dialog
Box) topic.
4. With the installer project selected in the Project Explorer, select Build from the Build menu.
You should see the message Solution Update Succeeded in the Status Bar if the project built
successfully. If errors occurred, you should see them in the Task List.
For more information, see Building an Installer Package (.msi) File.
Figure 6.
Select
Installation
Folder step
in
3. Open the VFPVSIDemo Setup Wizard. Choose Repair VFPVSIDemo to reinstall the application.
Choose Remove VFPVSIDemo to uninstall the application. Then chooseFinish.
System Back-up and modification can only happen when the system is
brought off-line.
The application language used with the FoxPro file-server is the Visual
FoxPro development language. Technically Visual FoxPro can be used to
retrieve data from SQL Server. Still, any application previously written for a
FoxPro file-server would have to have large sections rewritten in order to
optimize SQL Server data retrieval. Since Visual FoxPro is not part of Visual
Studio.Net this might not be the ideal language to choose for a rewrite.
Visual FoxPro is adequate on limited networks but cannot be expand to larger
number of users. Many experts predict that the long-term support by
Microsoft for this aging system may be limited.
PeopleSoft Financials Online Benchmark, SQL Server 7.0 Enterprise
Edition and Windows 2000 Advanced Server on Compaq