Session E-PROM

ProMatrix Application Wizard

Joseph E. Lawson
Lawson-Smith Corp.


ProMatrix revolutionizes the development of professional FoxPro applications. With ProMatrix you can create a powerful FoxPro application in a fraction of the time it would take to create the same application on your own. Some developers find that ProMatrix cuts their application development time by more than 90%.

This presentation provides an overview of how ProMatrix reduces development time and makes applications more powerful. It describes how ProMatrix organizes and automates the creation of professional FoxPro applications. We will be demonstrating the capabilities of both ProMatrix for FoxPro 2.6 and our new Visual ProMatrix for Visual FoxPro 3.0.

Our presentation will end with a description of how ProMatrix for FoxPro 2.6 was converted to Visual ProMatrix. We will point out what we have learned about converting FoxPro 2.6 applications to Visual FoxPro 3.0 in the hope that you will benefit from our experience.


What is ProMatrix?

ProMatrix is a FoxPro for Windows application development system that allows you to easily and quickly develop professional FoxPro applications with little or no programming.



Why You Need ProMatrix

FoxPro is an extremely powerful database management system that can be used by:

Because FoxPro must serve all users, it is not designed and organized solely for application development. Application developers must seek out and master the parts of FoxPro they need, and then bring those parts together to form an application.

Developers have long needed a product that organizes FoxPro for application development. ProMatrix is that product.

ProMatrix turns FoxPro into an application-specific database management system. ProMatrix adds to and organizes FoxPro's rich set of application development tools to create a powerful, specialized application development platform.

ProMatrix provides the building blocks and tools that every professional FoxPro application should have. ProMatrix lets you, as a FoxPro developer, concentrate your time and financial resources on your application’s unique functionality knowing that ProMatrix will take care of everything else.

How ProMatrix Organizes Application Development

ProMatrix is designed and organized to focus on application development. ProMatrix leads you through the creation of an application and organizes access to all application objects.

The ProMatrix Tools menu puts all of the tools needed to create an application in one place. The Tools menu contains the ProMatrix Menu Builder, Data Builder, Object Builder, Report Builder, Help Builder and Product Builder. These are all the tools you need to create menus, tables, forms, reports, queries and labels and to package your application for distribution to your customers.


The ProMatrix Object Builder organizes the development of all the objects in an application. The Object Builder is the heart of ProMatrix application development and the hub from which you build a FoxPro application.

You design an application’s menu to organize the application for end-users. The Object Builder displays a "picture" of the menu to organize application development for you.

You create or modify the objects that will run from a menu option by simply selecting the option on the menu displayed by the Object Builder. Upon selecting the menu option, you enter the ProMatrix Object Editor for the object. The Object Editor contains everything you need to create the object.

The Object Builder organizes access to every form, program, query, report, label, pad and procedure called from a menu option.

Whenever you add menu options through the ProMatrix Menu Builder, the options are automatically added to the picture of the menu displayed by the Object Builder. You can then create the objects for the new menu options through the Object Editors.

While the Object Builder organizes the overall development of an application, ProMatrix’s unique Object Editors organize the development of each application object. A ProMatrix Object Editor provides access to everything needed to create an object.

When you select a menu option on the Object Builder for the first time, you choose the type of object to create. The objects you can create are form sets, browses, programs, reports, queries, labels, pads and procedures. After you choose the object type, you enter an Object Editor. Each object type has its own Object Editor designed specifically for that type.

The ProMatrix Object Editors make application development faster and more convenient, and also serve as a checklist, or reminder, of everything needed to create each type of application object.

When you create a form set, ProMatrix’s form set Object Editor gives you access to dialogs that let you:

The form set Object Editor automatically adds the form set to the FoxPro Project Manager.



Without ProMatrix, you have to go to many places in FoxPro to create a form set. And, of course, ProMatrix's Object Editor creates forms with functionality that would take many months to duplicate from scratch in FoxPro.

The ProMatrix Object Editors also organize the development of called objects. A "called object" is an application object called by another object. For example, if a form set calls a program from a push button valid snippet, that program is a called object.

An object’s Object Editor contains a list box in which you can enter the names of the objects it calls. When you select a called object on the list, you can access the Object Editor for that object.

Normally, a developer needs to work on an object and the objects it calls at the same time. Until ProMatrix, no application development system provided a way to link called and calling objects so they could be easily accessed together. ProMatrix makes this link through the Object Editors.

Every object’s Object Editor shows you the objects that it calls directly. In turn, a called object’s Object Editor can list objects that it calls directly. There is no limit to the depth to which called objects can be stacked through the Object Editors.

The ProMatrix Data Builder is a fully-active data dictionary that organizes the creation and maintenance of the data in an application. The Data Builder also organizes the entry and maintenance of the rules that govern an application’s data.


The ProMatrix Data Builder provides one place to define all the properties of an application’s tables and fields. You don’t have to write a single line of code to create very sophisticated validation and integrity properties for table fields.

As you develop an application, you can access the application’s data through the Data Builder option on the ProMatrix Tools menu. When end-users run your application, they can have the same access to the application’s data through the Data Manager option on the application’s Admin menu. ProMatrix is the only FoxPro application generator that puts a data dictionary dialog in end-applications.

The ProMatrix Data Builder is a key component of ProMatrix applications. The Data Builder provides functionality that permeates applications as you will see later in this User’s Guide.


How ProMatrix Automates Application Development

The following examples illustrate some of the major ways ProMatrix makes application development automatic. In reviewing these examples, you’ll appreciate ProMatrix even more if you consider the time it would take you to create the features that ProMatrix provides automatically.

When you begin the development of a new application, it only takes ProMatrix a few minutes to automatically create:

When you create a form, ProMatrix automatically:

How ProMatrix Manages Application Development

ProMatrix has many tools that help you manage application development. You can include many of these tools in the applications you create with ProMatrix. ProMatrix manages and controls application development in the following ways:

How ProMatrix Augments and Enhances Applications

ProMatrix organizes, automates and manages FoxPro application development. If that was all ProMatrix did, it would be of tremendous value to FoxPro developers. However, ProMatrix does much more.

ProMatrix automatically puts powerful tools and features in applications that would require many months, if not years, to create yourself. Here is a list of some of the more important application tools and features that ProMatrix includes in applications:

When you run ProMatrix, the ProMatrix menu system replaces the FoxPro menu system. You can find the tools you need to develop professional FoxPro applications on the ProMatrix menu. Only in rare circumstances will you need to access the FoxPro system menu.



Note If you need to access the FoxPro menu at any time, you can do so by selecting the Exit to FoxPro option on the ProMatrix File menu. You can return to ProMatrix and continue developing your application by selecting Return to ProMatrix on the FoxPro File menu.

Like the applications it creates, ProMatrix is an event-driven, or modeless, FoxPro application. You can display multiple modeless windows on your computer screen at the same time and move freely among them.

ProMatrix uses all of the Administrative Tools that it puts into applications. Therefore, as you work with ProMatrix, you can experience the look, feel and features of the applications you are creating.


Creating An Application in ProMatrix

ProMatrix is organized so that creating an application is a step-by-step process. The basic steps are shown below. If you complete each step in the order shown, you’ll have a FoxPro for Windows application in record time.

That’s it! Nothing could be simpler. Behind the scenes while you are building your application, ProMatrix will be automatically adding features and FoxPro code that will make your application truly professional.


Creating Visual ProMatrix

Creating Visual ProMatrix has given us a unique insight into the problems and opportunities of converting a FoxPro 2.6 application to Visual FoxPro 3.0. We would like to briefly share what we have learned with you.

Important Point Whatever tool a developer uses to create an application, the end objective is the same. The end objective is to create an application that:

In the case of Visual ProMatrix, we recognized that the product's objective is to help developers create powerful applications. This is the same as the ProMatrix for FoxPro 2.6 objective. Nothing had changed in this regard.

After conducting a focus group study and sampling current ProMatrix users, we concluded that the overall organization, design and interface of ProMatrix should stay the same with Visual ProMatrix. We concluded that the design of ProMatrix was appropriate regardless of the tool ProMatrix used to create applications. The basic ProMatrix design could be used with any development tool: Visual dBase, Visual Basic, Delphi, etc.

We also concluded that the basic application development tools of ProMatrix such as the Menu Builder, Data Builder, Object Builder, Report Builder, Help Builder and Product Builder were as needed in Visual FoxPro 3.0 as they were in FoxPro 2.6.

After concluding that the basic design and basic features of Visual ProMatrix should mirror ProMatrix 2.6, we identified the Visual FoxPro 3.0 issues that we had to contend with. Here are the major issues we found that we needed to address:

Visual ProMatrix as a Learning Tool

In conclusion...

When we developed the ProMatrix for FoxPro 2.6 User's Guide, we felt we did not have an obligation to teach our users how to use FoxPro. However, we have discovered that we have quite a few users who were introduced to FoxPro by ProMatrix.

With Visual ProMatrix we can safely assume that most users will be relatively new to Visual FoxPro 3.0. Therefore, we feel that we have an obligation to extend the ProMatrix User's Guide to teach some of the basic OOP concepts and even to describe the mechanics of using the Visual FoxPro 3.0 tools.

While some might view this obligation to teach as a burden, we view it as an opportunity to distinguish and differentiate Visual ProMatrix from the competition. There have been quite a few good books written about Visual FoxPro 3.0 already, and most of the books include disks or a CDRom full of "goodies". However, a book isn't the same as a fully functioning RAD product with good documentation. It simply isn't economic for a book author to provide the kind of support and product updates that a RAD software vendor can provide. Further, the "goodies" provided with the books simply aren't the kind of robust RAD environment that a developer really needs and the "goodies" are frequently rather buggy.

Consequently, we feel that with Visual ProMatrix Lawson-Smith Corporation is poised to take a leading role in the future direction of Visual FoxPro 3.0 application methodology. We want Visual ProMatrix to be the tool that developers use to learn and fully exploit the power of Visual FoxPro 3.0.