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

Last reviewed: May 31, 1996
Article ID: Q142549
The information in this article applies to:
  • Microsoft Visual FoxPro for Windows, versions 3.0 and 3.0b

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.

REFERENCES

For more information about topics discussed in this article, please see the following articles in the Microsoft Knowledge Base:

   ARTICLE-ID: Q112676
   TITLE     : Troubleshooting Insufficient Memory Errors

   ARTICLE-ID: Q87290
   TITLE     : What is a Clean Boot for Windows 3.1?

   ARTICLE-ID: Q90511
   TITLE     : What is a Clean Boot for Windows for Workgroups?

   ARTICLE-ID: Q111428
   TITLE     : What is a Clean Boot for WFWG 3.11 with Netware?

   ARTICLE-ID: Q92603
   TITLE     : What is a Clean Boot for WFWG with Novell Connectivity

   ARTICLE-ID: Q90762
   TITLE     : Information on System Resources in Windows

   ARTICLE-ID: Q129979
   TITLE     : How to Reinstall Win32s with Visual FoxPro

   ARTICLE-ID: Q101808
   TITLE     : Insufficient Memory or Not Enough Memory for Application


Additional reference words: 3.00 3.00b VFoxWin kblist
KBCategory: kbinterop
KBSubcategory: FxinteropOle


THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.

Last reviewed: May 31, 1996
© 1998 Microsoft Corporation. All rights reserved. Terms of Use.