Visual FoxPro is much more powerful than its predecessors. Object-oriented programming speeds up application development through features such as subclassing. The Visual FoxPro event model eliminates the need to use a Foundation READ, or to write event handlers. Optimizing your system settings and taking advantage of Rushmore Query Optimization technology improves the performance of Visual FoxPro.
Harnessing the Power of Object-Oriented Programming
Using the Visual FoxPro object model, you can employ all the features of object-oriented programming including inheritance, encapsulation, polymorphism, and subclassing. For details about object-oriented programming with Visual FoxPro, see Object-Oriented Programming.
You can speed up application development by using classes. For example, you can create a basic form, toolbar, or page frame by using the form, toolbar, or page frame base class provided with Visual FoxPro.
Then you can reuse your code and forms by subclassing the classes you defined. For example, you can subclass the Form base class to create a custom class that automatically gives all the forms in your application the look and feel you want.
The Visual FoxPro class model gives you extensive control over the objects in your application. You have as much control of the appearance and behavior of objects on forms at run time as you do in the Form Designer at design time.
Handling Events with Ease
With Visual FoxPro you can create fully event-driven applications. You can access all standard Windows events such as mouse movements that permit dragging or dropping objects. You can control events visually through the Properties window or programmatically through the Visual FoxPro language. For more information about the event model, see Understanding the Event Model.
Testing and Debugging Immediately
Using the debug environment you can test and debug your code at the same time you design each component of your application and write the code. The Visual FoxPro language has been enhanced to include support for debugging capabilities, collection properties, checking the lock status of files and the current record, Value tips, and more. Also, the debugging tools work independently from the main application and do not interfere with the interface you are trying to test.
Test as You DesignВ В В The enhanced Visual FoxPro development environment gives you more power to test your component design and code. For example, if you are designing a form, you can click the Run button to run the code. If you want to change something, just click the Design button and make your changes.
Catch Syntax Errors EarlyВ В В The editor now features color-coded editing: you can specify colors for syntax, normal text, variables, comments, and more in the Edit Properties Dialog Box. If you mistype a command or keyword, you'll know right away because it's the wrong color.
Debug with Power
You can debug and monitor your application components more easily in this version of Visual FoxPro using the Debugger Window.
View Properties of an ObjectВ В В In the debugger you can view the elements within a collection or array using the Watch Window to show a hierarchical display of an object's properties.
Trace the Execution Process of Your CodeВ В В In the Trace Window you can see each line of code as it executes and check the values of all variables, properties, and environment settings.
Control Execution with BreakpointsВ В В Using breakpoints you can control when execution stops using one of four types of breakpoints. You can stop at a particular line, when a certain value changes, if a condition evaluates to true, or if a condition for a certain line is true.
Set Asserts and Display Assert MessagesВ В В You can use the ASSERT Command to specify conditions that verify that the code is running properly. When an error occurs, the Debug Output Window records the message.
Check the Current Value of a VariableВ В В To quickly check values you can place the cursor over a variable in the Trace Window to display a Value Tip.
Watch and Change ValuesВ В В In the Watch Window and Locals Window you can change values for properties or variables while you run the code.
Display Output from Message RequestsВ В В In the Debug Output Window you can conveniently display interactive or coded information requests in a separate window from the active window or screen.
Use a Coverage Log FileВ В В In the Debugger Window you can use the coverage option to log the execution information about your code such as how long the line took to execute, the line number, and more.
Use the Call StackВ В В In the Call Stack Window you can view the program calling path. Reading the Call Stack is one of the most effective techniques for debugging.
For more information about testing and debugging your application, see Testing and Debugging Applications.
Optimizing Your System
Visual FoxPro brings you improved performance across all these product areas:
You can also improve performance by enhancing startup speed and optimizing SET commands. For more information about optimizing your system, see Optimizing Your System.
Optimizing Applications with Rushmore Query Optimization Technology
You can dramatically improve the performance of queries by using Rushmore technology. Rushmore Query Optimization is a technology for rapidly selecting sets of records from tables. It can reduce query response times from minutes or hours to seconds. For more information about using the Rushmore technology, see Optimizing Applications.