The nice thing about the builder technologies built
into Visual FoxPro is that they are data driven. Unfortunately Microsoft did not
provide tools to interface with these metadata tables. I am not sure about you,
but while I think the BROWSE window is a nice to look at data, it is not fun
creating and editing data.
The biggest drawback to this technique of opening a
table (after hunting it down in the directory structure), and then browsing it
is that it, is typically in an unbuffered state. I am sure I am not the only
developer on the planet that makes mistakes as I enter in changes. If it is
unbuffered I have to remember what the original values are for the columns and
rows that I entered invalid or possibly corrupt information. The other big
drawbacks is the lack of validation of the information I am entering in and lack
of shortcuts to entering in the details of each column.
So with these drawbacks in mind I set out to simplify my
life with builders and created a tool known as the WLC Builder/Wizard/Property
Registration Tool. This tool buffers all changes to the Builder, Wizard, BuilderD
and FoxCode (Property Editors in VFP 9) tables. You can add new records, delete obsolete records, undo changes
to the current registration record, or all the changes you have made, but not
yet saved. There is a checkbox at the top of the form to show or eliminate the
deleted registration records. The About page has version information as well as
websites where this tool will be available when a new version is released.
The Builder table is found on the first page. All the
columns for the table are exposed (even Bitmap that is not used). The grid can
be used for navigation. The rest of the columns are free-form entry. There is a
program picker button to use the GetFile dialog and a class picker button to
select a class from a class library to speed up the selection process.
The BuilderD page has a class picker like the Builder
table. The hardest part of the BuilderD is noting all the Links (properties and
property records that already exist). Noting this pain while learning the
metadata, I came up with a picker dialog (see Figure 2) to ease the
selection of existing property records as well as the actual properties on the
class specified. This greatly simplifies the linking process.
Figure 1. The WLC Builder/Wizard/Property Editor Registration Tool
simplifies the builder registration process.
Figure 2. Setting up the Links column of the BuilderD metadata is much
easier when you can pick from the available property records and the actual
properties from the target object.
I have an enhancement request list that includes adding search and filter
capabilities in a future version.
This tool should run in Visual FoxPro 6 and higher. VFP 8 users will get grid
row highlighting, and VFP 9 users get a resizable form and the Property Editors