Developer Tools & Downloads

These are utilities designed to work with F1 Technologies' Visual FoxExpress. These utilities are all freeware or shareware.


Latest Release Date: 3/30/2004 -- Version 3.1e

This utility works in conjunction with Visual FoxExpress. In VFE's DBCX Explorer, select the node for a particular view, run this program and a window will open the code for the view (thanks to Eric Moore's GenView). In addition to generating the view code with GenView, code is added to open up needed DBCs prior to creating the view and the SQL code is formatted nicely, instead of giving you one long line. Simply edit the code, close the window and you will be prompted to save the program and create the view. This program can be added to your Tools menu bar for easy access (instructions below).

1. Running VFEGenview in DBCX Explorer will allow the addition of code to set non-default DBCX Properties.

2. Selecting a DBC node in DBCX Explorer will cuase VFEGenView to create a prg file for each view in the DBC. This functionality replaces GenViewAllDBC.

3. If you change the name of the view in the SELECT statement, the view name change is propogated throughout the code and the PRG file name is changed to be consistent with the new view name.

4. If you remove fields from the SELECT statement, the DBSetProp() and DBCX statements are automatically removed.

5. VFEGenView will automatically substitute the actual field names for any view that selects fields with a *. This prevents problems later if the table structure is changed. This now works both for local views and remote views where SQL Server is the backend.

6. If you select a table's node in DBCX Explorer and run VFEGenView, you are prompted to pick a database from those in your project and a new basic view is created based upon the selected table and the view is stored in the chosen database. This eliminates the need to create your view with a view designer before hacking with VFEGenView.

7. VFEGenView may also be run outside of the DBCX Explorer. If there is no view or database open, you will be prompted to pick one.

8. When run in the DBCX Explorer, the views are automatically validated after the view is recreated.

9. DEFINEd constants at the beginning of the program allow you to define the indent character, the maximum SQL line length, the default view name used to create a view from a table, an option to format the SQL with one line/field and whether the generated prg will by default re-create the DBCX properties.

Please report any bugs to me at

If you would like to make a donation to support the development of this freeware, you can send money to the address at the bottom of this page, or:




Latest Release Date: 11/6/2001

This utility has been replaced by functionality available in VFEGenview. VFEGenview will allow the addition of DBCX Properties to the view code..


VFE Security Manager

Latest Release Date: 9/23/2002 [Shareware $25]

This utility allows you to set security names to fields, reports, menus and any a-layer object with a "cSecurityName" property (that's everything). Simply choose a project and VFE Security Manager will generate a list of items that accept a security name. You may either choose an existing security name from the drop-down or type a new name that will be automatically added to your application's security names table (AppNames.dbf).

There is also a management report that lists which items are assigned to each security name. You will also be prompted to remove unused security names and promted to automatically add missing security names to the security names table. To be safe, an _backup copy of the class libraries and menus will be created before they are changed. VFE Security Manager functions outside of the VFE IDE and requires that the project not be open elsewhere.

The Save is disabled until you've registered.



Latest Release Date: 10/18/2001

This utility will VFEize an OLE object. Unfortunately, you can't subclass the basic VFP OLEControl into, say, cOLEControl and then use that class as your OLE container. This program automates the process of copying basic VFE PEMs into your new OLEControl classes.

Simply pick a VCX file and basic VFE properties and methods will be added to each un-customized class within the class library that has a base class of olecontrol. Once any custom properties or methods are added, that class will be ignored by this program. So you can keep adding new OLE classes to an existing class library and re-run this program without worrying about overwriting your changes. And of course, a back up of the VCX is made prior to any changes.

Only some of the basic VFE PEMs are added or edited to bring the object in line with VFE standards. There may be additional properties or methods you wish to add for greater VFE integration and some of the added PEMs may not be needed by your control. These are the basic ones that I have found to be helpful. This version adds VFE 6.32 code.

PEMs added or edited are:

oglobalhook & oglobalhook_access()
oapplication & oapplication_access()
readonly & readonly_assign()

Please let me know if there are PEMs you think are missing. It easier to delete than add properties and methods, so there is little downside to starting out with more custom PEMs than you need.



Latest Release Date: 6/10/2003

This is a procedural file which allows you to generate VFENewKey()s and GUID()s outside of VFE. This is really handy when importing existing records into tables with VFE default value generation. Without setting this procedural file you receive an error when attempting to append a blank record outside of VFE to a table with VFE default value generation.

Simply SET PROCEDURE TO [path]\VFEKeygen.prg and do your appending and inserting.

This program assumes that the tables you're working with are in the \DATA\ directory off of your application path and the meta files are within the \METADATA\ path off of the same application path. It also assumes appids.dbf is in the same data directory. You will be prompted to open the appids.dbf or meta data if it cannot be found and the tables are not already opened. So if you are appending multiple records and do not use the default locations for appids or the metadata, it is better to open those tables first so you are not prompted for each new record.

A detailed example of using VFEKeyGen for importing data into a VFE database is in the F1 Technologies Customer Service Center Knowlegebase, or you can access it here: Manually Importing Data into a VFE Application.


6/10/2003 -- Added some DEFINE statements from VFE.H
10/29/2002 -- Updated to support GUID(32), GUID(36) & GUID(38) added in VFE 7.0.
Update provided by: Paul Kaminsky, Pro Systems Consultants



Latest Release Date: 10/18/2001

This is simply a slightly edited copy of Mike Helland's program which adds HTML codes to create VFP-type syntax coloring to whatever's in _cliptext. Simply copy your code, run this program and paste it into your F1 Conference window. Do to a slight variation in how the VFE conference formats text compared to the Universal Thread, the original program required a slight change to work properly in the F1 Conference.

This is a ZIPped file which contains the prg and a table containing VFP keywords. The table is updated through VFP6.0 key words. Mike's program also has a slight bug where it adds syntax coloring to text within quotes, but I'm being picky. I'm sure not going to waste my time fixing it.



Latest Release Date: 10/20/2003 [Shareware $35]

This program will create an HTML file documenting the tables, view, parameters and fields in a DBC and their various DBC and metadata properties. Simply choose a DBC, select from a list of the properties you wish to report and click the button to generate an HTML document. This program reports on the same VFEMeta and CoreMeta properties available in the DBCX Explorer property list. Sample Report

If you like this program and find that you use it a lot, please register. If you use the link to paypal below, you'll get the unlock code immediately.

Shareware Fee $35:

Instructions for Adding to Your Tools Menu

So, how do you add these programs to your Tools menu? In the startup.prg file called from config.fpw you can add code to define the menu prompts.

The function keys need to be separately defined as macros. Note: when defining macros in VFP7.0, you need the macro to type DO ""{LEFT ARROW} ..., otherwise intellisense will not respect the open quote and may insert a program name from the MRU list if there is a space in the path. The close quote prior to the path and file name prevents intellisense from finding a match.

Here's my VFP7.0 tools setup:


ON SELECTION BAR 15 OF _MTOOLS do "c:\program files\microsoft visual Foxpro 7\eview\"
ON SELECTION BAR 16 OF _MTOOLS do "c:\program files\Microsoft visual Foxpro 7\"
ON SELECTION BAR 17 OF _MTOOLS do "c:\program files\Microsoft visual Foxpro 7\vfegenview.PRG"
ON SELECTION BAR 18 OF _MTOOLS set view on  &&Handy to be able to open when in VFE
ON SELECTION BAR 19 OF _MTOOLS requery()  &&Handy to be able to requery the view in the DBCX Explorer
ON SELECTION BAR 20 OF _MTOOLS do "c:\program files\Microsoft visual Foxpro 7\mhhtmlcode.prg"
ON SELECTION BAR 21 OF _MTOOLS do "c:\program files\Microsoft visual Foxpro 7\vfecodetoHTML.prg"
ON SELECTION BAR 22 OF _MTOOLS do "c:\program files\Microsoft visual Foxpro 7\viewedit.exe"  
All programs downloadable from this page are  2004 Primary Data Solutions.  
Unless otherwise indicated, all downloads are freeware and may be distributed and modified  as long as credit is given. 
These programs may not be sold or included in any commercial product without prior permission.

Primary Data Solutions
P.O. Box 1735    Springfield, VA 22151
(703) 455-8156     fax: (703) 455-8157