This page is devoted to miscellaneous items contributed by VMP users that you might find interesting. Thanks very much to all who have submitted the items included here!
If you have something you'd like to contribute to this page, please submit it by e-mail to Visionpace at firstname.lastname@example.org. Be sure to zip up any source code or other files before submitting them.
VMP_Fix_SysSec.zip contains VMP_Fix_SysSec.PRG, see its header comments 4KB -- Paul James shares this utility he wrote to "cleanup" the VMP system tables, including deleting orphan records from the optional VMP User Security System tables. See the comments/usage information in the header comments. Posted May 2, 2005.
Word.DOC describing how to setup a desktop VMP app reading archived data on CD 7KB -- Paul Treble shares this Word document that describes the steps he took to create a VMP desktop application that accessed read-only archived operational data from a CD. Posted January 6, 2004.
Custom class providing Word Automation to a VMP app, for printing complex reports to Word templates 30KB -- Franz Müller shares this class, and a working form you can run from the VM example application. The VMWORD.ZIP file contains a ReadMe1st.TXT file. The code was written in VFP 8, but it looks like it should work in VFP 7, too. It has been tested using Word XP and Word 2003. Posted Sept 11, 2003.
Utility to copy-and-paste AND align controls in the Form/Class Designers 5KB -- Mike Potjer shares modified code from Mike Yearwood to modify the default VFP behavior where, when you copy-and-paste control(s), VFP adds the new controls 4 pixels down and to the right of the originals. The contained oxCopyCtrl.PRG supports setting up an ON KEY LABEL hotkey to add the new controls at a location determined by parameters you establish. The code was written in VFP 8, but it looks like it should work in VFP 7, too. Posted Sept 6, 2003.
An 'Outlook'-based VMP interface144KB -- Frank Marafino shares a Word.DOC consisting of screen shots and explanations of a VMP application he wrote that doesn't look like a 'normal' VMP app, but rather more like an 'Outlook'-style interface, demonstrating that VMP is a framework, rather than the actual interface/presentation tier.
frmReportDestinationSPF mods -- Patrick Godfrey shares the code necessary to subclass XXFWFRM.VCX/frmReportDestinationSPF to 1) handle a problem with the cmdGetFile1.icFileNameCaption default value and 2) temp folder accessibility in all Windows operating systems, for creating reports to files. His platform is VMP 4.0/VFP 6.0, but you should find the modifications applicable in all versions of VMP.
Setup a VMP application to use remote data 200KB -- Paul Treble shares a Word.DOC and wvREMOTE.PRG utility that he created during his experience setting up a VMP application to use a SQL Server database. His information was created for VMP 5.0 and VFP 6.0, but should be applicable to any version of VMP/VFP.
Upsize the VMP system tables to a SQL Server database 1KB -- Gary Farkas shares a .SQL script that creates the VMP system tables in a SQL Server database. The .SQL script was generated for VMP 5.0 -- you should check the entire script for accuracy before implementing any part of it.
Add code to frmDEGridNav2Pages.pgfPageRefresh1.Page1.grdNav columns, headers, and textboxes for columns > 10 2KB -- Paul James shares a utility he wrote to add the code to these controls as explained in the zReadMe() of XXFW.VCX/grdBase and XXFWGRD.VCX/grdGeneral. VMP 5.0, should also work in VMP 4.0.
Setup for Visual Source Safe 349KB -- Randy Rosenthal shares a Word.DOC explaining how his development teams uses VFP (VMP) with Visual Source Safe.
List all required-but-empty controls 6KB -- Steve Sawyer shares the modifications necessary to present the user with a list of all the required-but-empty controls on THISFORM (on attempting a <Save>), rather than just stopping on the first one encountered. VMP 4.0/5.0, may work in previous versions.
zReadMe()s as HTML -- Franz Müller shares a utility to generate one .HTML file per XXFW*.VCX (VMP 4.0) class library, putting the zReadMe text at your fingertips. Franz named it XXDTVCXH.PRG so that you can copy it to your \XLIB directory and it'll show up in the XXDT.PRG list of developer tools. VMP 4.0/5.0 only, although you can modify it to work on X3FW*.VCX class libraries in VMP 3.0/3.01. Note that, based on your feedback, Franz has fixed bugs and made other enhancements to this utility since he first contributed it, and the latest XXDTVCXH.PRG is dated 1/20/99.
grdDataEntry subclass for navigating a "child cursor", class for allowing show/hide pageframe pages -- Geoff Clements puts a couple of classes in the public domain for VMP purchasers (actually, the pageframe pages class also works with the Public Domain superset of VMP that can be downloaded here). VMP 3.0/3.01, may work in VMP 4.0/5.0.
Faster mover listboxes based on cursors -- Patrick Godfrey shares code he used to speed up movement of cursor-based ctrMover listboxes. Print out the code listings or copy-and-paste. VMP 3.0/3.01, may work in VMP 4.0/5.0.
VMP 2.0/2.01 fix -- Charles Obadiah shares a fix for a problem in VMP 2.0/2.01 where the user is forced back to the picklist repeatedly when the user enters a value in a txtPicklistValid textbox (in a grid) and the value is not unique in the lookup table. Print out the listing and give it a try.
Visual MaxFrame Professional class hierarchy -- Jim Underwood has created a nifty utility that creates an html listing of high-level statistics and hierarchy of .VCXs in a FoxPro project/.PJX. He was kind enough to share the output generated from a project containing just the VMP class libraries. You can peruse the listing or print it out. VMP 3.0/3.01 only.