Revision History, by Dennis Allen All my Foxpro applications, be it customer, shareware, or freeware are based on the same architecture or "framework". To ensure that all my applications remain at the same standard of code, I periodically update all systems. Now that I have software available on an Internet web site, I created this file to document the most important of these updates. Note: If you find a problem or want a new feature, my email address is: dennis@dennisallen.com. If you can't describe a bug, perhaps it got logged by the error handler. If that's the case, you can zip me your FOXERR.* files. 05/16/2013 - Compile Visual Foxpro 9.0 versions of freeware. 02/11/2009 - Fixed Vista getfile dialog prompt. 08/19/2004 - Fixed font related problems. Depending on the font, a dialog box can get small, causing @ GET string to overflow the window. In VFP6, an overflow will change the string size, a problem if used in an index lookup. Also removed 'Enter a Selection' text box, if text box would hide menu selections. 11/11/2002 - Utility menu, option 'A' - reindex files. Modified NOT to remove deleted records if you have the ability to RECALL deleted records. If you want keep deleted records forever, simply enable the RECALL option. To remove deleted reocrds, disable RECALL, then use option A - reindex. 06/02/2002 - Added UNLOCK ALL to editor, to clear stray locks. 06/12/2001 - Fixed Visual Foxpro getfile dialog prompt. Wouldn't return filename on non-existing file. 04/26/2001 - Fixed problem with mouse cursor detecting memo field windows. 03/17/2001 - Expression builder. Fixed long time Visual Foxpro bug that made main menu scroll. Also tweeked it to be more Linux compatible. For example, [F2] for main menu (non-unix systems can still use [F10] for main menu). 03/06/2001 - On a browse NOMODIFY, it was possible to change a field via [F2] popup. Fixed. A [R]ecall could perform a browse LAST. This option would make the next browse read-only. Fixed. 12/03/2000 - Expression builder, custom Foxpro builder (getexpr to). Recovered missing work area fields. 09/08/2000 - Worked on user resource (FOXUSER.DBF) files. If CONFIG.FP has RESOURCE = OFF, a temporary copy of FOXUSER.DBF is created. With a temporary file, RESOURCE is ON, enabling attributes such as word wrap off for wide screen reports. An application launched by a system administrator will now try to enable RESOURCE = ON, regardless of CONFIG.FP setting. Applications can now accept up to two parameters. Each parameter, a FOXPRO.INI [GetEnv] variable. So now you can create a system administrator shortcut icon to maintain printer codes, color sets, etc., on a shared user resource directory (CONFIG.FP with a RESOURCE = OFF). You no longer need to be a system administrator to customize colors. It just depends if RESOURCE is ON. Both the user and configuration manuals now include instructions on how to customize colors. 08/07/2000 - Fixed JKEY bug in child editors. Also added _JEXITKEY=13 so that [Enter] completes the JKEY/BROWSE. 07/25/2000 - On a screen display of a report, the report window now floats. On most reports, you will find the record count on the bottom of the previous window. 07/03/2000 - Removed RENAME command from DW4 code. Now Foxpro for Unix application can run on a Linux vfat table. Couple of other small Linux tweeks. Compiled separate Foxpro 2.x/Visual Foxpro versions of Foxpro Shell application. Procedures within APP file override any external FXP procedures, so can't use APP file as a launcher. 05/31/2000 - Data Wire Four will now repair invalid/missing memo files. To repair a corrupted memo file, DW4 will first repair the memo file header. A new DBF is then created and the original data appended. While this process cannot guarantee full memo data recovery, at least the DBF file should be good. Also enhanced standard error handler. If a corrupted memo file is found (via PACK command), the user is given the option to blank-out memo file header. A blank header will allow DW4 code to detect and repair the memo problem. 04/13/2000 - VFP's SET PRINT TO NAME has case sensitive bug which loses printer page orientation. Created fnPRINT3() workaround. 03/11/2000 - Upgraded software to be compatible with Foxpro 2.6 for Unix. 02/19/2000 - Fixed loopholes that allowed users to bypass editor's key uniqueness testing. Either by recalling deleted records or using the expression builder. 02/04/2000 - Added FOXPRO.INI environment variable STATUS = ON/OFF. If OFF, turns off clock and status bar (SET SCOREBOARD OFF). This feature will be very useful on Macintosh systems, where text is hidden behind the status bar. Also useful on systems where text is hidden behind the (Press SPACEBAR) error prompt. 01/31/2000 - Removed SET CURRENCY/SET DATE from code. You can now, for example, add DATE = BRITISH to your CONFIG.FP. 12/27/1999 - Released latest updates. All recompiled in Visual Foxpro 6.0. 12/20/1999 - Enhanced printer device defintion. ADDITIVE option allows output to be appended to an existing file. In Visual Foxpro, NAME option allows you to select printers from the windows printer folder. 12/15/1999 - Ran across an odd, but interesting, Foxpro feature. When you do a SET PRINT TO (''), the printer reverts to the last known printer device. Fixed code to avoid such a situation. 11/10/1999 - DW4 1.6.1. Found Foxpro for Windows bug. In FPW, SYS(2021) and KEY() act like UPPER(SYS(2021)) and UPPER(KEY()). 08/23/1999 - You cannot add or subtract from an empty date variable. Fixed DO loops that might increment/decrement empty dates, thus causing an infinite loop and/or computer lockup. 08/08/1999 - Found undocumented Foxpro for Windows/Visual Foxpro command. In system setup menu, the user can now specify printer font and font pitch. Non-draft mode only. 06/28/1999 - Finished latest set of updates. I decided that, by default, my applications will now launch in multi-user mode. I also made '[M] - change status' a system administrator option. Hopefully, these changes will prevent any new user from accidently gaining exclusive access to the database files and locking all other users out of an application. 06/18/1999 - In Foxpro for Windows, a few reports (like in CFM) would still print thru the windows print spooler (non-draft mode). Converted such reports to create temporary files. Which means you can now configure these reports to print in draft mode, as well as specify the number of print copies. 06/16/1999 - Added Visual Foxpro 5/6 version of JKEY. JKEY provides true incremental search to BROWSE commands. Also got the latest Foxpro for Windows copy of JKEY, which fixed a bug that would not allow CTRL-J to toggle JKEY off. 06/06/1999 - Added single-key incremental search to popups. When a popup is displayed, pressing "B" will display, but not select, the first occurrence of an item starting with "B". Pressing "B" again displays the next occurrence, and so on. 06/04/1999 - Adjusted Foxpro for DOS file preferences in FOXUSER.DBF. 03/10/1999 - DataWire Four v1.6 can now maintain Visual Foxpro DBF files, as well as Foxpro 2.6 DBF files. Bad indices are now ignored. 03/09/1999 - ENDSPOOL procedure now executes ENDSPOOL() if ENDSPOOL.PLB or ENDSPOOL.FLL is in Foxpro directory. Otherwise, ENDSPOOL DOS procedure executes FCLOSE(FOPEN(cPRN,11)) to release any printer server device output. 02/17/1999 - Upgraded the Foxpro Shell launcher to handle the new installation code and files. 02/11/1999 - Much Improved installation batch file. Uses self-extracting EXE files, rather than ZIP. Visual Foxpro APP file is now included with the standard installation file set. PRINT_FILE procedure will recognize SIDEWAYS.BAT file in user resource directory and will execute it to produce landscape output. Fixed bug that didn't delete temporary files. 10/26/1998 - Fixed VFP bug in fnGETFILE(), used in JOB and SAC. VFP 5.0 doesn't handle overlapping windows very well. If a @ GET WHEN clause displays a window, the READ will terminate, executing the VALID clause. Causes infinite loop. 10/14/1998 - Sub-contractor JOB system. Introduced Foxpro invoice forms. You can modify this FRX report file from the system setup menu. 08/26/1998 - Fixed color selector. Custom colors in foxuser2.dbf can now be > 60 characters. The current color set is now the color selector default. 08/21/1998 - Added code to better determine user resource directory. Works when SET RESOURCE is ON/OFF or when foxuser.dbf is not found. 08/11/1998 - Worked on popups. If you call a popup via [F2], you can now press [Esc] without aborting a browse/full screen edit. Visual Foxpro 5.0, when you activate/release windows within a browse, the browse loses focus. Problem only for popups. Two solutions. 1) After every window release, DEACTIVATE browse window. 2) Replace popup dialog windows with WAIT "" WINDOW NOWAIT, thus bypassing _MAC bug and avoiding nested dialog windows (easier to deactivate browse window). Fixed problem with [F2] popup not displaying in [F]ind command. 08/01/1998 - Added "Number of Print Copies" to printer setup. Like "Draft mode" and landscape detection, it only works if the report creates an output file. 06/01/1998 - Foxpro for Windows/Visual Foxpro can detect Landscape print mode. For reports that create an output file, print output will now be adjusted to landscape (sideways) upon detection. The location and size of memo windows can now be adjusted. This feature can compensate for Visual Foxpro 5.0 bug. 02/01/1998 - More Windows 95 friendly. Allow multiple launches from the same icon. Allow multiple workstations to share same icon. The CONFIG.FP can now have RESOURCE = OFF or ON. To allow Visual Foxpro 5.0 apps to work with Foxpro 2.6 apps, Data Wire Four code will maintain DBF files in Foxpro 2.6 format. 08/01/1997 - All dates will now display 4 digit year (SET CENTURY ON). Use Visual Foxpro version can handle century rollover.