Microsoft KB Archive/88672

{|
 * width="100%"|

-

The information in this article applies to:


 * Microsoft FoxPro for MS-DOS, versions 2.0, 2.5, 2.5a

-

SUMMARY
The following information applies only to expanded memory, NOT extended memory.

Products that create RAM disks or do some form of disk caching using expanded memory may not be compatible with FoxPro versions 2.0 or 2.5 for MS-DOS. If you are running a program that creates a RAM disk or disk cache in expanded memory, FoxPro's performance may be affected and data may be lost or damaged when a cache is used.

To avoid these problems, use RAM drivers that create caches in extended memory, not expanded.

FoxPro does not work well with RAM caches in expanded memory because FoxPro performs its own internal caching.

MORE INFORMATION
If EMS=ON is in your CONFIG.FP file, FoxPro does much of its I/O directly into expanded memory. RAM disk or disk-caching programs that also perform I/O directly into expanded memory may conflict with FoxPro's usage of expanded memory.

When FoxPro requests that MS-DOS perform an I/O transfer into the expanded memory page frame, the RAM disk or caching program intercepts FoxPro's call to MS-DOS and tries to affect the I/O data transfer. The following are conditions under which problems occur:


 * Some programs fail to allocate the expanded memory they are using, which in turn causes a conflict with FoxPro because FoxPro is trying to use the same memory.
 * Some programs fail to restore the expanded memory page frame to its original address prior to the I/O request, which causes FoxPro to look in the wrong area when performing an I/O operation.
 * Some programs fail to note that the address in which the data will be read is in the page frame itself. Other caches remap the page frame so that it contains their I/O buffers; they then copy data from their buffers to the I/O transfer address, failing to note that this address is in their own buffer. As a result, data in their buffer is corrupted.

Nothing can be done to correct these deviations from proper expanded memory usage (as defined by the expanded memory specification [EMS]). For these reasons, we recommend that cache programs based on expanded memory not be used. Additional query words: FoxDos

Keywords         : Version          : Platform         : Issue type       :
 * }