Foxbase+/FoxPro Information Sheet
Foxbase+ was last released in August 1988. The last release of the FoxPro 2.x series
was in August 1994. While these products are still very usable, they were never written
for the latest computers and operating systems. This sheet attempts to point out some of
the problems that has risen in the last few years and possible solutions.
FYI: If this sheet doesn't answer your question, check my Frequently Asked
Questions papers, FoxPro 2.6 for Mac,
FoxPro 2.6 for Unix,
or Visual FoxPro 6.0.
You could check other web sites, such as Universal Thread,
Wiki-FoxForumWiki,
or the web site FoxPro
Resources. You could post your problem
on the Internet newsgroup news://microsoft.public.fox.programmer.exchange.
For FoxPro 2.6 problems, you could try the online book Painless Legacy FoxPro Applications on Modern Networks.
Table of Contents
Disclaimer
Error: Can't Read Drive D (I/O Operations failure)
Error: Divide by Zero
Error: Fatal Exception C0000005
Error: Fatal Exception C0000090
Error: Fatal Exception C00000FD
Error: File Access Denied
Error: FoxPro for Unix/Linux, File/Directory problem
Error: FoxPro for Windows Installation (DSHELL)
Error: I/O Operations Fails When Starting FoxPro
Error: Insufficient memory
Error: Internal Consistency Error
Error: Invalid/Missing Memo file
Error: Invalid Seek Offset Error 1103
Error: Not a Database File
Error: Not enough memory
Error: Not enough memory to allocate name table
Error: Object compiled w/ different version of FoxPro
Error: Picture too Big
Error: Sharing Violation Error
Error: Watcom win386 [read error]
Foxbase/FoxPro: Year 2000 bug
Foxbase/FoxPro: Year 2000 Solutions
FoxPro Y1900.PRG
FoxPro 2.6a Upgrade
FoxPro 2.6 for DOS: Windows 98
FoxPro 2.6 for DOS: Windows 2000/NT
FoxPro 2.6 for DOS: Windows 2000/NT/XP Command Prompt
FoxPro 2.6 for DOS: Windows 2000/NT CPU
FoxPro 2.6 for Mac
FoxPro 2.6 for Unix
FoxPro 2.6 for Unix terminfo files
FoxPro 2.6 for Windows: Fast Computers
FoxPro 2.6 for Windows: Fonts
FoxPro 2.6: List Box on Pentium 150Mhz+ machines
FoxPro 2.6 for Windows: Memory
FoxPro 2.6 for Windows: Printing to XP
FoxPro 2.6 for Windows: Report FRX Files
FoxPro 2.6 for Windows: Transporting FoxPro for DOS Reports
FoxPro 2.6 for Windows: Windows 2000
Runtime: Create your own runtime
Runtime: Launcher
Visual FoxPro 6.0
Where to Purchase FoxPro 2.6
All information contained on this sheet is provided as is. There are no warranties, expressed or implied. The author and contributors may not be held liable for any damages, including any lost profits or other incidental or consequential damages arising out of or inability to use this information. Use of this information constitutes acceptance of this disclaimer. You should always double check any information before acting upon it.
This sheet contains references and/or links to other sites or to third party suppliers of goods and/or services. Such references or links should not be considered as an endorsement by the sponsors of this web site.
Error: Cannot read drive D: (I/O Operation Failure)
If a FoxPro application was compiled on drive D (be it EXE, APP, or FXP), when the
application is executed it will search for it's source code on drive D. Many computers
have their CD-ROM or Zip disk as a drive D. So if the CD-ROM is empty, FoxPro will report
'Cannot read drive D:'. If your CD-ROM is not connected, or don't have a drive D,
FoxPro may report 'I/O operation failure'.
Note: This problem is not unique to drive D. It can happen on any higher drive. Say the
project was compiled on drive F and the client site has a CD-ROM drive F.
There are a couple of solutions. One solution is to move your project to drive C. My
personal favorite is to add a 'SUBST K: D:\' to the AUTOEXEC.BAT file. Then store and
compile all your FoxPro applications on drive K. This is a simple solution, since not many
people will have a CD-ROM drive K.
If you can't recompile your applications, there is a fixdrive utility available on the Abri Technologies web page.
You can also read the Microsoft KB
article on I/O failure.
When FoxPro for Windows is launched, a timing loop is executed. On fast computers (Pentium 333Mhz+ machines), the timing count can become huge, resulting in a 'divide by zero' error. Thus preventing you from running FoxPro for Windows. Microsoft offers a free utility to patch FoxPro 2.6a for Windows and it's associated runtime.
To patch FoxPro 2.6a for Windows, click here
for the file PATCH_26.EXE (IPATCHFP.EXE for any version of FoxPro 2.x for
Windows). If this hyperlink doesn't work, do a www.goggle.com
search for "Fixes Divide by Zero Error on Fast Computers". The first
line should be the support.microsoft.com
site.
For additional solutions, see FoxPro for Windows: Fast
Computers.
Error: Fatal Exception Code=C0000005
As I understand it, the C5 error has been around since Visual FoxPro was
created. I've never seen this error, but most of my procedures are still written in
FoxPro 2.x code. It can be caused by a variety of problems. Here's what I've learned thus far:
The problem is often times the result of a corrupted resource file,
otherwise known as a foxuser.dbf file. If your application doesn't need a resource file, then turn it off
in your config.fpw file: RESOURCE=OFF. If that doesn't fix the problem, try
removing or replacing the suspected foxuser.dbf and foxuser.fpt files.
Someone suggested the error has to do with docking a toolbar restoring and maximizing the
desktop. Again, the foxuser.dbf file might be corrupted and should be replaced.
The problem might be the result of a HP Printer driver. The standard Windows HP IV printer driver doesn't cause this
problem. If your client is using a HP 4300, don't use the 4300 printer
driver, use the HP IV driver to run the HP 4300 printer and set the
workstation's default printer to an HP printer using the HP IV driver.
The problem might be a third party print driver. You
might have to remove/reinstall each third party driver in your printer folder
until you find the bad one. A faulty print driver should be removed from your
workstation, even if the driver is not being
used by the default printer. Sometimes a faulty print driver has additional
software, which also needs to be removed (check add/remove programs). If you
suspect the server has a faulty print driver, don't use NDPS as it sends the driver to the
workstation during printing. Use the legacy queue based printing in Novell.
Fatal exception errors can be caused by third party video drivers. It is worth checking those things to make sure they are either Windows
standard drivers (first choice) or the latest vendor provided drivers available.
Some people get C5 errors running VFP with the video set to 256 colors and 1024 x 768
resolution. Try changing the video settings.
Another person reported a C5 error opening a form. I heard the problem
was resolved by reindexing every table used by the form. (open the table, then
"REINDEX").
If you still having C5 problems, see Wiki-FoxForumWiki
has more information.
Error: Fatal Exception Code=C0000090
People reported this random problem on Win2000 and WinNT machines. Turned out it was caused by a divide by zero condition in code and somehow the VFP error handler was not triggered - it passed back to the OS as an exception error.
Error: Fatal Exception Code=C00000FD
People reported this problem when they move files between computers with different
types of FAT (File Allocation Table). For example, Windows 98 to/from Windows NT/2000.
As I understand it, this problem is the result of a corrupted dbf file. Try to REINDEX
and/or PACK your file. Might have to perform a COPY TO WITH CDX.
When using a shared a runtime unit, you might encounter a boot error such as 'file
access denied'. On networks I've seen this happen when the CONFIG.FPW has RESOURCE =
ON and the foxuser.dbf file doesn't exist. FoxPro tries to create a temporary foxuser.dbf
file, but cannot. Either the directory doesn't exist or the user has no read/write
privileges.
I've also seen this boot error on older networks. Sometimes sharing a runtime unit
requires all *.ESL, *.ESO, and *.EXE files to be marked as read-only. Really old versions
of DOS might require SHARE.EXE to be loaded.
Error: FoxPro for Unix/Linux File/Directory problem
INODE number > 65,535 Problem: When it starts, the FoxPro application might think it is in a different directory. Or the application will destroy opened files in a random way: data for one file is written into another, wrong files got deleted from time to time, etc. The problem has to do with drives > 30Gig. Since FoxPro is a SCO binary, it uses the inode-number of open files to keep track of which files are already open. But it only sees the last 16 bit of the 32bit inode number. From time to time it opens a file with an inode-number that has the same 16-bit-value as another open file. One solution is to move your application to a directory with an INODE number < 65,535 (ls -i). Also make sure any directory referenced by FoxPro also has a low INODE number. There is a patch, but it's only in the alpha stage. To read further on this problem, see the thread on sourceforge.net linux-abi project.
Error: FoxPro for Windows Installation (DSHELL)
I heard of this problem on the newsgroup microsoft.public.fox.programmer.exchange.
Someone tried to install FoxPro for Windows on a Windows XP machine and got an
error message: "An error has occurred in your application / If you choose
Ignore you should save your work in a new file / If you choose close, your
application will terminate.". The error window within the FoxPro install
window is titled "DSHELL".
As I understand it, the problem is caused by a menu option in the Start Menu
folder with a name greater than 49 characters in length (FoxPro 2.6 has made
before long file names came out). If you want to install FoxPro for Windows, you
must decrease the length of the name.
Error: Input/Output Operation Fails When
Starting FoxPro
Visual FoxPro (or FoxPro for Windows) was installed from the CD-ROM disc without installing the help files, and the CD-ROM disc is not in the drive. Just make sure you have a CD in the client's CD drive. See Error: Can't Read Drive D.
If you get "insufficient memory" errors from FoxPro for DOS, try launching it with the +X option. Otherwise, try increasing the following settings in your config.fp, config.fpm, config.fpw, or config.fpu
MVARSIZE: Set the maximum size of any given memory variable. I don't know the
default, but start with 50
(50K).
MVCOUNT: Sets the maximum number of memory variables that FoxPro can maintain. This value can range from 128 to 65,000, default is 256 in
FoxPro for DOS, 1024 in FoxPro for Windows.
MEMLIMIT: The syntax for this statement is MEMLIMIT=%,min,max where % is a calculated amount based on available memory and min and max represent actual minimum and maximum allocations.
For example, specifying MEMLIMIT=40,1024,4096 allocates 40 percent of your system's available memory to
FoxPro with a minimum allocation of 1024K and a maximum of 4096K.
Error: Internal Consistency Error
The most common causes of this error is either bad indices or low resources (not emough
memory and/or hard drive space). If you open a dbf file and get this error, try to
remove/replace the index file. Otherwise, right-mouseclick mycomputer-> properties->
performance. If you see a low percentage number, you might have to reduce the number of
background applications. Either that or add more RAM to your computer.
You also get "Resource Manager - Internal Consistency Error" with FoxPro
2.6a
for Windows, transporting FoxPro for DOS reports. If you try to change font or font pitch
during transport, FPW 2.6a will crash. I heard this problem has to do with FPW 2.6a and
FONTMETRIC(). The solution is to change fonts only after transport.
FYI: I have been able to use courier 10 pitch during transport. Better than the default
arial 10 pitch. Select the tranporter fonts, then just press [ok].
Error: Invalid/Missing Memo File
When you try to open a DBF file, you may see the error message "invalid/missing
memo file". In the freeware section of
this web site is a utility called Data Wire Four. DW4 has the ability to repair a
corrupted memo file header. Other repair utilties are available from Abri Technologies.
Note: A corrupted memo file may appear normal, except when you try to PACK a couple of
times. If you suffer from a PACK problem, create a brand new DBF file and append your data
from the corrupted DBF file. DW4 does it this way.
Error: Invalid Seek Offset Error 1103
There is index corruption, likely caused by those network disconnects. The operating system and/or network hardware is your primary suspect. For more information, see http://fox.wikis.com/wc.dll?Wiki~InvalidSeekOffsetError1103~VFP
When you try to open a FoxPro 2.6 DBF table/file, you may see the error message
"not a database table/file".The most common cause for this error is a bad record
count. In the freeware section of this web
site is a utility called Data Wire Four. DW4 has the ability to repair a bad record count.
Other repair utilties are available from Abri Technologies.
Using FoxPro 2.6 to open a Visual FoxPro DBF file will also cause this error. To avoid
this error, keep your DBF files in the FoxPro 2.x format (COPY TYPE FOX2X).
A Plockyn (a.plockyn
igg.co.uk) had a
mangled DBF and couldn't get DW4 to work. He used "simple code" which
just added a blank record:
* Before trying this code, make a backup of your tables!
wait window "If you get a 'Not a database file' click ignore" nowait
use MyTable
&& replace with dbf name
wait window "ESC to cancel or any key to continue adding blank record"
fh = FOPEN("MyTable.dbf", 2) && replace with dbf name
=FSEEK(fh, 0, 2)
&& go to EOF
=FWRITE(fh, SPACE(123)) && at least add
the count of one record length
=FCLOSE(fh)
&& corrected original with (fh) and FOFEN !!
wait window "If you can see the data then the fix was successful"
use MyTable exclusive &&
replace with dbf name
go bottom
BROWSE LAST nowait
reindex
The error "there is not enough memory to complete this operation" on a multiple application, multiple workstation system is probably the result of a blown index. Try rebuilding your index (you might have to delete your cdx file, then rebuild it).
Error: Not enough memory to allocate name
table
You are trying to run FoxPro 2.6 for Unix with an outdated Linux-abi patch. For these and other related FPU installation problems, see the FoxPro 2.6 for Unix FAQ Sheet.
Error: Object file was compiled in a different/previous
version of FoxPro
Try to run a FoxPro 2.6 FXP file with a Visual FoxPro runtime, and you get "Object file was compiled in a previous version of FoxPro". In my applications, there should be a V*.APP file, compiled in Visual FoxPro 6.0. If not, you may have to install a FoxPro 2.6 runtime. FoxPro 2.6 runtimes are available in the freeware section of this web site.
In this last release, I've recompiled all my V*.APP files in Visual FoxPro 6.0. Try to run a Visual FoxPro APP file with a Visual FoxPro 5.0 runtime, and you get "Object file was compiled in a different version of FoxPro". Download a Visual FoxPro 6.0 runtime, available in the freeware section of this web site.
The "Picture too big" type error has usually been related to compressed BMP images.
FoxPro for Windows does not handle large bitmaps (pixels) or bitmaps with more than 16 colors very well. Try to avoid them. If you wish to use a repetitive or tiling bitmap, use a 50x50 one.
The most common cause of this error is to open a file exclusively (USE tmp.dbf EXCLUSIVE or APPEND FROM tmp.dbf), with tmp.dbf already opened. Another cause is having tmp.dbf set to read-only. This error happens at the OS level, before FoxPro can trigger error handling. My only suggestion is to try a nFILE = FOPEN('tmp.dbf',2). If nFILE > 0, the file can be opened exclusively (after you FCLOSE(nFILE)).
Error: Watcom win386 [read error]
You might see this error running FoxPro 2.6 for Windows on Novell 4.1 with Client32 version
2.2. I've been told this error is caused by other applications (Lotus Notes) hogging
memory. Even when closed, they do not release all of the memory. The only way free up the
memory is to restart the machine.
To reduce the occurrence of this error, teach the users to open FPW applications first.
Also advised them to leave the FPW applications open all day, rather than going in and out
of them.
One person actually solved this problem by uninstalling netware client 2.2 and
installing client 3.0.
Note: To be a good "sharing" application, you should limit how much memory your
FPW allocates by including a MEMLIMIT statement in the CONFIG.FPW file. For example,
specifying 'MEMLIMIT = 60, 4096, 10000' allocates 60 percent of your system's available
memory to FoxPro with a minimum allocation of 4096K and a maximum of 10000K.
Foxbase+/FoxPro: Year 2000 bug
Since the early days of dBase, most xBASE dialects have been able to retrieve and store
year 2000 dates. But to save space on crowded data entry screens, and to maintain customer
comfort levels, many applications prompt with eight-digit dates (mm/dd/yy), two-digit
years.
When you cannot enter the century, the language must use a default. The "bug" in
Foxbase+/FoxPro is that the century default will always be "19". Thus, typing a
date of "01/01/00" will translate to "01/01/1900". Always.
Oh, some people say there is also a problem the leap day February 29, 2000. But this
problem is the result of the century default. Typing "02/29/00" will translate
to "02/29/1900", which is not a valid leap day.
Foxbase+/FoxPro: Year 2000 solutions
In my applications, I use SET CENTURY ON. Users will be prompted with ten-digit dates
(mm/dd/yyyy), four-digit years. The century default is still "19", and typing
"01/01/00" will still translate to "01/01/1900", but at least you can
type "01/01/2000" to input the correct date.
For people who need a century default of "20", there are other solutions. For
one, you can use the Visual FoxPro version of my applications. The Visual FoxPro
version
will look and feel like FoxPro for Windows. The Visual FoxPro code, however, includes the
command: SET CENTURY ROLLOVER 50. This command gives you century rollover. That is, typing
"01/01/20", will translate to "01/01/2020", while typing
"01/01/60" will translate to "01/01/1960".
The other solution is to purchase a product called Y2KFOX from Communication
Horizons. They have developed a front-end launcher for Foxbase+/FoxPro to enable
century rollover. It also handles the Feb. 29, 2000 leap day. Simple to install. You don't
need to change code. Very nice.
Foxbase+/FoxPro: Year 2000 solution - Y1900.PRG
Ok, let's suppose you continued to use the old Foxbase version of one of my
applications after January 1, 2000. Or suppose you forgot that typing "01/01/00"
in Foxbase+/FoxPro 2.x translates into "01/01/1900". Well, that's why I wrote Y1900.PRG.
Y1900.PRG is a simple Y2K program.
It will check all the DBF files in the current directory. Any date field, in the specified
date range, will be incremented 1200 months. 01/01/1900, for example, will be
incremented to 01/01/2000.
Note that Y1900.PRG won't touch dates stored in character fields (C(8)). Also remember to
backup your data files before using such a program.
For FoxPro 2.6 people wishing to apply the 2.6a upgrade patch, click here.
FoxPro 2.6 for DOS: Windows 98
FoxPro 2.6 for DOS should still work on most Window platforms. On my Windows 98 SE machine, however, FoxPro for DOS is not as stable. I can startup the MS-DOS prompt, run and exit the FoxPro executable, no problem. If I restart the executable more than a couple of times, however, I risk memory corruption. If you need to restart FoxPro, I suggest launching a new copy of the MS-DOS prompt.
FoxPro 2.6 for DOS: Windows 2000/NT
Couple of people had problems with slow execution under Windows 2000. One person had mapped drives and fixed the slow-down by switching to the old DOS SUBST command.
According to the other person's hardware guy, the problem was the program ntvdm.exe. This program executes under Windows 2000 as a process and is in charge of the DOS applications. For some reason, it couldn't handle the load of 20 users. The hardware guy fixed the problem by installing a program called Tame.
Just a couple of suggestions. Check to see if your CONFIG.NT or CONFIG.SYS
has at least FILES=240. You might also want to add this command (or equivalent) to
your CONFIG.SYS:
SHELL=%SYSTEMROOT%\SYSTEM32\COMMAND.COM /E:2048
FoxPro 2.6 for DOS: Windows 2000/NT/XP
Command Prompt
If FoxPro for DOS seems to be getting smaller you may have to adjust your Command Prompt. Under Start->All Programs->Accessories, right-click the Command Prompt, Send To->Desktop (create shortcut). Now right-click the Command Prompt icon, select properties. Under the Shortcut tab, run Maximized. Under the Options tab, run full screen. Under the Layout tab, set the screen buffer size to 80 width by 25 height. Oh, make sure you invoke FoxPro for DOS with the +X option. Otherwise, you might be short of memory.
FoxPro 2.6 for DOS: Windows 2000/NT CPU
As I understand it, FoxPro for DOS will use almost 100% of the available CPU time on a
NT 4.0 or Windows 2000 machine. There have been several reported ways to solve this
problem. If you have NT 4.0 SP4, upgrading to SP5 might solve the problem. Another way is
to type the following from the DOS prompt:
start /low foxprox.exe -cconfig.fp myapp.app
...the /low tells NT to give this application low priority when running in the background.
Another solution is to have the application SET CLOCK OFF. In my applications, you can use
the DOS environment variable SET STATUS = OFF to turn off the clock (see configuration
manual).
Here's a solution from Tomáš Chvátal:
"I wrote little program that solve this problem. If you want, you can
download it from www.ezop.cz/sw/foxfree.com.
This software you can start before FoxPro. Software "monitoring"
activity of FoxPro and Fox will take only 0.1 % while waiting on keyboard/mouse.
This software is free. I have also version in BIN file, callable from inside FoxPro
program."
On one project, I upgraded most of my software to be FoxPro 2.6a for Macintosh
compatible. Still a work in progress. I'd like to thank everyone on the CompuServe
Macintosh and MS Developer forums, plus all the people on the Internet newsgroup news://microsoft.public.fox.programmer.exchange.
To help other people, I created a FoxPro 2.6a for
Macintosh FAQ sheet. It should answer some of your installation and compatibility
questions. In addition, the FoxPro 2.6a for Macintosh runtime is available on the
freeware section of this web site.
For my latest project, I upgraded most of my software to be FoxPro 2.6 for Unix/Linux
compatible. A work in progress, but a start. I'd like to thank everyone on the CompuServe
Unix and MS Developer forums, plus all the people on the Internet newsgroup news://microsoft.public.fox.programmer.exchange.
Special thanks to John Sandell and George Carden for all their help.
If you're installing FoxPro 2.6 for Unix on a non-SCO version of Unix, like Linux or
FreeBSD, you need to watch out for a couple of things. If you start up FoxPro and get a
'floating point exception' error message, might not have your iBCS component installed.
I've also seen this message using an incompatible terminfo file. If you start up
FoxPro and get 'Not enough memory to allocate name table', you have an outdated
linux-abi patch. If you start FoxPro and
get 'cannot find terminfo database', your system probably stores the terminfo database in
/usr/share/terminfo (FoxPro searches for /usr/lib/terminfo).
For these and other related FPU installation problems, see the FoxPro
2.6 for Unix FAQ Sheet.
FYI: Click here to find out where to purchase a copy of FoxPro
for
Unix. If you cannot obtain your own copy, remember that a FoxPro 2.6 for DOS/Windows
compiled FXP or APP file will run on any OS platform. As long as you have the correct
runtime. Runtimes are available in the freeware
section of this web site.
FoxPro 2.6 for Unix: terminfo files
The following is a list of customized terminfo source files:
Each terminfo source file might have one or more terminfo definitions. Check the file itself to determine how to define the FOXTERM environment variable (see the FoxPro 2.6 for Unix FAQ Sheet). To help you customize, I created terminfo.prg, a simple FoxPro program that will compare two terminfo source files.
FoxPro 2.6 for Windows: Fast Computers
When FoxPro for Windows is launched, a timing loop is executed. On fast computers
(Pentium 333Mhz+ machines), the timing count can become huge, resulting in a 'divide by
zero' error. Thus preventing you from running FoxPro for Windows. There are a couple of solutions. For
example, you can switch to Visual FoxPro. Visual FoxPro is an application designed for
fast Pentium machines.
To patch FoxPro 2.6a for Windows, click here
for the file PATCH_26.EXE (IPATCHFP.EXE for any version of FoxPro 2.x for
Windows). If this hyperlink doesn't work, do a www.goggle.com
search for "Fixes Divide by Zero Error on Fast Computers". The first
line should be the support.microsoft.com
site.
Before Microsoft created an official patch, there was Andrew Forber's DZPATCH. I used
DZPATCH.PRG on my FoxPro 2.6a for Windows. Seemed to work fine. Even ran a file comparison
with the Microsoft patched files. Saw no difference. Now DZPATCH works with any version of
FoxPro 2.x for Windows. But, of course, there are no warranties. If you can't get a copy
of DZPATCH from Andrew Forber, try Abri Technologies.
The latest super fast Pentiums may have reintroduced timing problems. The now
defunct Visual Software Solutions created a front-end launcher, originally
called foxstart, now called slowstart. It "slows down" the launching of a specified 16-bit program, such as
FoxPro for Windows. Data Customs, Inc. also offers a copy of foxstart.
If you haven't patched your FoxPro 2.6a for Windows, or are
still experiencing timing problems on the latest Pentiums, you may want to check
them out.
Had a situation where a client could not read a Word 97 document unless FoxPro for Windows was running. Come to find out, the document had FoxPro for Window reports in it. These reports use the font FOXPRINT.
When you create FoxPro for Windows runtime distribution disk(s), fonts are stored in the Windows 95 system directory. What the Word 97 document needs is the FOXPRINT.TTF font file in the Windows 95 fonts directory. To correct the problem, simply copy the file C:\WINDOWS\SYSTEM\FOXPRINT.TTF into the C:\WINDOWS\FONTS directory. You might also need the file C:\WINDOWS\SYSTEM\FOXPRINT.FOT.
With the FoxPro for Windows and Visual FoxPro setup wizards, you have the ability to add your own installation commands. Although I haven't done it, it should be possible to create distribution disk(s) that copy font files to the Windows 95 font directory.
FoxPro 2.6 for Windows: List boxes on Pentium 150MHZ+
machines
In FoxPro for Windows, on fast Pentium machines, list boxes displaying database fields
and having more than about 600 records often run into the "Insufficient Memory"
error message.
There are a couple of solutions. You can switch to Visual FoxPro. Visual FoxPro was made
for faster computers.
Another suggestion is to increase the MEMLIMIT command in your CONFIG.FPW file. For
example, specifying 'MEMLIMIT = 60, 4096, 10000' allocates 60 percent of your system's
available memory to FoxPro with a minimum allocation of 4096K and a maximum of 10000K.
Another solution is to slow things down by padding your list boxes. I don't use screen
sets much, so I can't give any more advice. I suggest you go to the Abri Technologies web page for
more help.
FoxPro 2.6 for Windows: Memory
A patched FoxPro 2.6a for Windows should be pretty stable, but can be a memory hog at
high resolution. If you're video resolution, for example, is at 800x600x16million colors,
lower it 800x600x256color. See if that helps.
If you are unable to run FoxPro for windows, due to insufficient memory, add a MEMLIMIT
statement to your CONFIG.FPW file. The syntax for this statement is MEMLIMIT=%,min,max
where % is a calculated amount based on available memory and min and max represent
actualminimum and maximum allocations. For example, specifying MEMLIMIT=40,1024,4096
allocates 40 percent of your system's available memory to FoxPro with a minimum allocation
of 1024K and a maximum of 4096K.
FYI: SYS(2019) tells you exactly where your CONFIG.FPW is located. And remember that
changes to the CONFIG.FPW don't go into effect into the next time you launch FoxPro.
If you still have problems, I suggest posting your problem on the Internet newsgroup news://microsoft.public.fox.programmer.exchange.
FoxPro 2.6 for Windows: Printing to Windows XP
Many people report problems with FoxPro 2.6 for Windows, printing to Windows
XP. On my machine, I get a "General Protection Fault". Other people
will experience "Unsupported Protocol".
In my case, my application was sending raw out directly to the printer (using
???). One solution is not to send raw output to the
printer. If you have a more recent HP print driver, try switching to an
older (more seasoned) driver.
Andrew Howell of microsoft.public.fox.programmer.exchange help me create an actual workaround to this bug. For code and details, click here.
If you crash using a FRX report, but you might want to remove the printer definition (see next section).
FoxPro 2.6 for Windows: Report FRX files
A lot of people have problems with report FRX files. Mostly because FoxPro for
Windows/Visual FoxPro FRX files store their own printer information. After you complete a
MODIFY REPORT, the current printer is stored in the FRX file. When you print a report, the
FRX file will send output to the stored printer. If that printer doesn't exist, however,
results might be unpredictable. Could even cause a computer crash.
There is a couple of ways to handle this situation. You could remove the printer
definition stored in the FRX report (open the FRX file as a table and look at
the EXPR, TAG and TAG2 fields in the first record). To remove this printer definition,
go to the Microsoft KB article "How
To Use the Default Windows Printer in Visual FoxPro".
You could also that prompt the user for a
printer. The selected printer can then be installed on a temporary copy of the report
FRX file, which is used to print the report. To see how this works in code, view my Visual
FoxPro 6.0 FAQ sheet, the section on
"Programming Changes: REPORT FORM".
One other suggestion. If you're crashing on your REPORT FORM command, add a
FLUSH command before it. Less chance of losing data that way.
FoxPro 2.6 for Windows: Transporting FoxPro for DOS Reports
When transporting FoxPro for DOS reports into FoxPro for Windows, you might run into a
couple of problems. If you try to change font or font pitch during transport, FPW 2.6a
will crash (see error: Resource Manager - Internal Consistency Error). The solution is to
change fonts only after transport.
The other issue is about text that will no longer print. All you get is solid black type,
either in print or MODIFY REPORT. The solution is to do a [Ctrl]-[A], select all. Then
object->mode and change the mode from opague to transparent.
FoxPro 2.6 for Windows: Windows 2000
Got this e-mail short time ago: >> I came across your website today looking
for a solution to a problem I have running FoxPro. I'm wondering if you could help me out.
I'm trying to run FoxPro 2.6a for windows on Win2K, and every time I start the program the
startup screen is displayed momentarily and then the program exits. I've applied the patch
from Microsoft to slow down the processor speed and also all the 2.6a patches available
from Microsoft. Do you know if FoxPro 2.6 can run on Win2K? I had no problems running it
on Win98. I'd really appreciate it if you had any advice for me on this. thanks.<<
I worked with this person for the longest time. Tried everything. Finally did a hard drive
wipe and reinstalled Windows 2000. A real pain, having to reinstall all those
applications, but it worked! I still suspect a bad register entry, but could never pin it
down.
Note: Installing Windows from scratch is a last step resort. Be sure to perform (and
verify) a complete backup first.
Runtime: Create Your Own Runtime
Suppose you have a FoxPro application on a network file server. Your network has fifty
workstations. With FoxPro for DOS or FoxPro for Windows, it is possible to include the
runtime files with the application. With Visual FoxPro, however, you most likely need to
reinstall the application on each workstation.
One solution is to create your own Visual FoxPro runtime. Download FOXRW.PRG. Compile FOXRW.PRG as a
stand-alone executable launcher called VFPR.EXE. Use the setup wizard to create your
installation disk(s).
You can now install a runtime on each workstation. For each application, create a shortcut
icon. Have the shortcut icon launch VFPR.EXE. Have VFPR.EXE execute your application's
main APP or FXP file. Oh, don't forget to set the icon's "start-in/working
directory" to the application directory.
Note: You can apply this same technique to create FoxPro 2.6 runtimes. For more
information about runtimes, see in the freeware
section of this web site.
FoxPro 2.6a for DOS/Windows runtimes are simple 16-bit applications. Visual FoxPro 6.0 runtime requires Windows 95/NT. If you obtained a FoxPro runtime elsewhere, you might still need an executable launcher. A launcher is a simple EXE program that will execute your main menu APP or FXP file. The following launchers were compiled from FOXRW.PRG:
On an early project, I upgraded all my FoxPro 2.6 software to be Visual FoxPro
6.0
compatible. Upgraded, not converted. My software still runs on FoxPro 2.6 as well as
Visual FoxPro 6.0. I'd like to thank everyone on the CompuServe MS Developer forum, plus
all the people on the Internet newsgroup news://microsoft.public.fox.programmer.exchange.
To help other people to upgrade, I created a Visual
FoxPro 6.0 FAQ sheet. It should answer some of your compatibility questions. In
addition, the Visual FoxPro 6.0 runtime is now available in the freeware section of this web site.
People always ask me where to purchase a copy of FoxPro 2.6. I know you can't get any
floppy disks from Microsoft anymore. You might try ebay.com.
Keep checking them. Copies float on and off that site all the time. Also try one of the
following:
EMS Professional Software
Retro Tools CC Systems, a Florida consulting firm: (727) 596-1460. FoxPro for Unix.
Internet newsgroup news://microsoft.public.fox.programmer.exchange.
In the event you can't find a development copy for your operating system, don't despair. A
FoxPro 2.6 for DOS/Windows compiled FXP or APP file will work just fine in FoxPro
2.6 for
DOS, FoxPro 2.6 for Windows, FoxPro 2.6 for Macintosh, or FoxPro 2.6 for Unix. All you
need is a runtime, which you can find in the freeware
section of this web site.
Copyright © 2005 Dennis Allen. My email address is: dennis
dennisallen.com.
This web page was last updated 04/03/08