Microsoft KB Archive/142549

= How to Troubleshoot VFP OLE Memory Errors in 16-bit Windows =

Article ID: 142549

Article Last Modified on 9/30/2003

-

APPLIES TO


 * Microsoft Visual FoxPro 3.0 Standard Edition
 * Microsoft Visual FoxPro 3.0b Standard Edition

-



This article was previously published under Q142549



SUMMARY
Because of limitations in the operating system and the memory requirements of Object Linking and Embedding operations (OLE), Visual FoxPro running under Windows 3.1 or Windows for Workgroups may produce any one of several different error messages. These errors may occur randomly or after repeated OLE operations. This article describes how to troubleshoot OLE error messages by delving into the causes.



MORE INFORMATION
If Visual FoxPro or the operating system encounters a low-memory situation or a memory conflict on a computer, various error messages may appear. For example, Visual FoxPro could cause a general protection (GP) fault, Win32s unhandled exception error, segment load failure, or it may cause the computer to hang. While this list is not complete but does include the most common problems.

When OLE operations fail, it is usually because you have low or improperly configured memory, low Graphics Device Interface (GDI) resources, conflicts in memory, or corrupt Win32s subsystem files.

Low or Improperly Configured Memory
Because OLE operations need considerable memory to function, the configuration of memory is important. First, eliminate any expanded memory on the machine. Visual FoxPro cannot use expanded memory, so it takes away from the total pool of extended memory. Second, make sure that Windows is configured to use a permanent swap file. The permanent swap file allows Windows to swap code out of physical RAM and onto the hard drive. The permanent swap file must be at least 12-14 megabytes in size. However, for intense OLE operations, a larger swap file is frequently necessary.

Low Graphics Device Interface (GDI) Resources
Because Window 3.1 and Windows for Workgroups are both 16-bit operating systems, there is a limit to the GDI resources available for programs. Often, if Visual FoxPro cannot acquire the needed GDI resources to complete an operation, Windows will report an "Insufficient Memory" message. Switching to Program Manager and choosing Help About Program Manager offers a rough estimate of the available system resources. If this number is below 50 percent, problems may develop. Strategies for freeing system resources are provided in one of the articles listed in the "References" section of this article.

Conflicts in Memory
Various memory conflicts may cause OLE errors. The two quickest way to troubleshoot memory conflicts are to change the video driver to standard VGA and perform a 'clean boot' of the computer. The Windows User's Guide provides steps to changing video drivers. Instructions for a 'clean boot' configuration are in one of the articles listed in the "References" section of this article.

Corrupt Win32s Subsystem Files
An improperly installed Win32s subsystem may generate OLE errors. The Win32s files allow the 32-bit code of Visual FoxPro to communicate with the 16-bit code of Windows 3.1 or Windows for Workgroups. This process is called thunking. Steps for reinstalling Win32s are outlined in an article listed in the "References" section of this article.

