Thursday, July 18, 2024    
Skip Navigation Links
My Account
Try It!
Buy It!
Skip Navigation Links
Contact Us
Site Map
Skip Navigation LinksHome > StrataFrame for FoxPro Developers

 Making the Move to .NET

The Problem
Most FoxPro developers are faced with the decision of when and how to move to .NET. This can be an overwhelming process trying to decipher articles in magazines, lectures at conventions, and the general buzz within the VFP community. Once the decision has been made within a VFP shop to make the move to .NET the first question on every developers mind is, "Where do I start?, " followed by "How do I do this in .NET?" This is a very frustrating place to be. Aside from these questions other basic factors come into the picture, such as converting Visual FoxPro data structures to SQL Server, or just communicating with existing FoxPro databases. Another common question is, "How do I move from a data-centric language like Visual FoxPro into a disconnected data environment like .NET and how long will the transition take?"

The Solution
StrataFrame enables a VFP developer to migrate applications to .NET more easily and provides a familiar development environment. Begin development on the application immediately without worrying about how to connect to data, develop layered interfaces, bind data to forms, marshal data between tiers, or optimize the run-time environment for performance. These functions plus others have already been done for you. Additionally, StrataFrame provides FoxPro like interaction with the business objects (or table) including features such as SEEK, SCAN, zero-code control source data binding, field access by name, and memory variables. There is also support for enhanced controls that provide functionality commonly used by FoxPro developers like the Wait Window. If you are a Visual FoxPro developer and a novice or expert .NET coder, StrataFrame provides the best development environment and solution for your .NET applications.

Why Experience Matters

We Create Real-World Applications
In addition to being framework developers, we have products in the field that rely on the abilities of StrataFrame, including a medical application called PracticeStudio which is operational in thousands of user sites. Our initial application was written in FoxPro and is being migrated to .NET a piece at a time using StrataFrame. Most of our core StrataFrame developers have extensive Visual FoxPro backgrounds and know the many benefits that come with developing in that environment. Some of our medical application developers were strictly VFP developers with their first exposure to .NET made via the StrataFrame Application Framework.  These developers were immediately productive using StrataFrame.  They loved how it made them ".NET experts", day one. Our real-world application experience has been priceless in the development and improvement of StrataFrame. StrataFrame has prepared the way for your .NET migration.

Other VFP Developer Responses
All StrataFrame users that have come from Visual FoxPro environments into .NET have had similar experiences. StrataFrame provides a development environment that "makes sense" to Visual FoxPro application developers. One StrataFrame user with an exclusive Visual FoxPro background stated, "I tried creating a proof-of-concept with every .NET framework available on the market, and yours (StrataFrame) was the only one I was able to actually complete the POC with...and StrataFrame had the shortest trial time."

Comparing Development Environments (VFP vs .NET using StrataFrame)

There are many benefits that StrataFrame provides Visual FoxPro developers. Below is just a sampling of the native features of StrataFrame that any FoxPro developer can appreciate.

FoxPro is a data centric language, meaning that database and table integration is merged into the development environment in every aspect. StrataFrame makes .NET a data centric language in the same respect as FoxPro by allowing developers to effortless communicate with data in a structured and accessible format. In many ways StrataFrame makes interacting with data easier than FoxPro, especially when it comes to updating field values as shown in the following example.

Visual FoxPro
REPLACE cust_fname WITH "John" IN customers

- or -

SELECT customers
m.cust_fname = "John"

Customers.cust_fname = "John"

Drag-n-Drop Business Objects
View Larger Image
Drag-n-Drop Data Environment

Adding tables to a form in Visual FoxPro is very easy. It is as simple as opening the data environment and adding the table. Inherently adding a data source to a form in .NET is clumsy and complicated because it requires that an existing data source be associated with a form and requires two controls to make this happen. StrataFrame resolves all of these issues by allowing a business object (table) to be dropped onto a form without forcing the design-time environment to be tied to an existing data structure. More importantly, it is as simple as dragging a business object onto a form. Once added, the developer can interact with it through controls and in code without writing complicated run-time code to force the connection and adapters to look at the end-users data source.

Zero Code Data Binding
View Larger Image
"Control Source" Data Binding

FoxPro makes binding a field to a control (i.e. text box, radio button group) very easy by using a drop down list and allowing the desired field to be selected for the control source. StrataFrame uses this same type of architecture when binding a field to a control. From this perspective Visual FoxPro developers can be productive immediately in creating forms and connecting it to the desired data. Simply drop the desired controls on the form and tie the appropriate field to the control using a drop down list. It's that easy!

Private and Default Data Sessions
One very useful feature of Visual FoxPro are default and private data sessions. This is especially helpful at the form level when children forms need to be able to access the data on a parent or calling form. StrataFrame provides a powerful and seamless feature that provides this functionality called a ChildFormDialog control. Each form (parent, child, grand-child, etc.) can be programmed as though it is a stand alone form. When the child forms are called through the Child Form Dialog control, it will automatically translate the business objects (tables) from the parent form to the child. There is extended functionality that will even manage the parent-child relationships automatically without writing a single line of code!

Seeks and Scans
Visual FoxPro provides some very powerful and useful data navigation functions such as SEEK and SCAN. StrataFrame has implemented these same powerful tools and even expanded upon them. All business objects (tables) intrinsically have methods that replace the SEEK and SCAN functionality. In addition to these methods, additional methods like SeekToPrimaryKey() make navigating to specific records even easier. Another major benefit of StrataFrames functionality is that is does not require an index in order to execute a seek. Moreover, any piece of data within the business object can be "seeked."

Visual FoxPro
SEEK("A1234", "customers","cust_code")

- or -

SELECT customers
SET INDEX TO cust_code
SEEK "A1234"

Customers.Seek("cust_code = 'A1234'")

- or -


Wait Window
View Larger Image
Wait Window Support

Outside of the FoxPro world, the Wait Window is virtually unknown. But for those developers who have used this feature know that it can be extremely useful and may be frustrated when this is no longer an option. StrataFrame provides a Wait Window that exceeds the limitations of the Visual FoxPro version.

Import Existing Database Structures
View Larger Image
Easy Migration to SQL Server

Bring FoxPro Structures Forward
One major benefit to all Visual FoxPro developers is the ability to quickly and painlessly migrate data structures to SQL Server from existing Visual FoxPro databases. The Database Deployment Toolkit is a powerful tool in the StrataFrame arsenal. Using the import tool with the DDT, Visual FoxPro structures can be moved forward with automatic field type conversions to SQL Server. Additionally, there is support for optimized conversions that will improve the performance of the migrated structures.

No SQL Server Knowledge Required
Become an instant SQL Server expert with the Database Deployment Toolkit and the integrated support within the Application Framework. The developer is never required to manually interact with SQL Server when creating and deploying data structures. Simply "point and shoot" the structure to a server and StrataFrame will do the rest. Moreover, the Database Deployment Toolkit has features to automatically create stored procedures, as well as deploy them, which can improve the performance of the application.


In short, StrataFrame has laid the foundation for you to develop great applications. Using StrataFrame provides a familiar development environment while acheiving all of the benefits and power of .NET. Moreover, an existing FoxPro application can be migrated forward in pieces using many of the features and tools of StrataFrame including the ability to natively communicate with existing FoxPro databases as well as any new SQL Server databases within the new .NET application, even when they need to be accessed on the same form.

The ultimate question isn't whether to move to .NET, but how painless and enjoyable the process can be. Using the StrataFrame Application Framework provides a foundation and environment developed by .NET experts with extensive FoxPro backgrounds who create real-world applications. Purchasing StrataFrame is the best business decision your Visual FoxPro development shop can make!

Site Map - Home - My Account - Forum - About Us - Contact Us - Try It - Buy It

Microsoft, Visual Studio, and the Visual Studio logo are trademarks or registered trademarks of Microsoft Corporation in the United States and/or other countries.