TwoFox.ZIP (last updated: 2013-10Oct-28)

Two-way text conversion for VFP files. GenXML converts form, class libraries, etc. into XML files that can easily be handled by version control systems like CVS and SubVersion. For VCX files GenXML generates one XML file for each class letting you create a history for each class and minimizing conflicts. GenCode converts these XML files back into binary files. (last updated: 2010-02Feb-20)

IntelliSense extension for Visual FoxPro 6.0-9.0. provides IntelliSense and AutoCompletion for local variables, field names, properties, #DEFINEs, etc. even in situations where the built-in IntelliSense doesn't work. Many different developers contributed to this tool. Make sure you read the comment at the beginning of the file. It serves as a readme and also gives credit to all the helpful people.

VFP runtime installers (last updated: 2009-08Aug-13)

Download page with various VFP runtime installers provided by ProLib Software GmbH.

Struct.ZIP (last updated: 2008-11Nov-12)

Class to implement API structures in Visual FoxPro. Supports most data types, arrays, pointers, unions and nested structures. (last updated: 2007-08Aug-10)

A sample base class that deals with object references in a safe manner to avoid dangling references and crashes. See my white paper on this class for more details. (last updated: 2007-07Jul-30)

Sample FLL to handle API messages in versions prior to VFP 9. In VFP 9 you can use BINDEVENT to accomplish the same in a more generic fashion. The sample handles application activation. To modify the FLL for your own application, you need a C++ compiler such as Visual Studio Express Visual C++.

Returns information about whether the current user has got a Windows privilege such as the privilege to install printers, shut down the system, etc. See here for a list of privileges.

Inserts source control information into a project file. This tools lets you put tools under source control that already checked into the database without having to answer the "Do you want to get the latest version" question a few dozen times. Usually, this tool is used if you share code among different projects.

Convert FoxPro data types in various API data types. This program doesn't require an FLL to perform the conversions.


Maps various API data types into the data types used with the DECLARE DLL command in Visual FoxPro.

Removes the link to the source control system from the project file. Call this program if you want to send a project file to someone who hasn't access to your source control database.


Various samples and slides from my multi-threading session in Frankfurt 2005. Includes the DLL that allows the creation of true multi-threaded VFP applications. Source code included. Comments are in German.


My unfinished third version of the struct class.


A tool to generate text files on the fly. Instead of adding converted files to a source control system, I often only add the regular files. Then I use this tool to generate text files when I need them. It's also helpful if you have two VCXes in different directories and want to know how they differ. Works with SourceOffSite, WinCVS, BeyondCompare and other tools.

My GDIplus library that I started when the early versions of VFP 9 came without the _gdiplus.vcx library. It's working but not complete. Since Microsoft finally shipped a GDI+ library I didn't see much use in adding one more to the pool, so I stopped development on this one.

Small FLL to increase and decrease the object reference counter. You can use it to release objects with dangling references, or to produce dangling references as you please.


Small tool to create a full text index for Outlook and search for items.

Updates a project file with information from a PJM file without going through the time consuming process of updating the project list.

Let's you specifiy the login information for Visual SourceSafe if you don't want to enter them repeatedly in the login dialog. if you have multiple VSS databases you can specify the one you want to work on.

Like SetVSSDB.prg, but only lets you specify the login credentials.


Re-usable splitter bar component.

Updates or creates the SourceControl header in Visual FoxPro project files. You can use it to add projects to source control without going through the interactive steps, update the record when you moved the source control database, or switch projects from one source control system to another. Supports Visual SourceSafe and SourceOffSite. Both VFP header types (VFP 7 and older, VFP 8/9) are supported.