BUG: Multiple Iterations of ACTIVATE POPUP Cause GP Fault

Last reviewed: June 27, 1995
Article ID: Q108718
The information in this article applies to:
  • Microsoft FoxPro for Windows, versions 2.5, 2.5a, 2.5b, and 2.6

SYMPTOMS

Performing many iterations of the ACTIVATE POPUP command in a loop causes an "Insufficient Memory" error to occur. In addition, the arrows in the scroll bars of the Command window may disappear and GDI memory will be exhausted.

CAUSE

ACTIVATE POPUP uses Window's graphic device interface (GDI) resources. DEACTIVATE POPUP does not release GDI resources. Once the GDI resources are exhausted, Windows will return an "Insufficient Memory" error message or may even cause a general protection (GP) fault.

There is no set number of iterations of ACTIVATE POPUP that will trigger an "Insufficient Memory" message.

RESOLUTION

To avoid the "Insufficient Memory" message, use a RELEASE POPUP <popupname> command after the DEACTIVATE POPUP <popupname>.

STATUS

Microsoft has confirmed this to be a problem in FoxPro versions 2.5, 2.5a, 2.5b, and 2.6 for Windows. We are researching this problem and will post new information here in the Microsoft Knowledge Base as it becomes available.

MORE INFORMATION

Steps to Reproduce Problem

WARNING: Close all running applications and save your data before running this code.

   FOR pops = 1 TO 100
      WAIT WINDOW "Popup Number "+LTRIM(STR(pops)) NOWAIT
      popname = "pop" + LTRIM(STR(pops))
      DEFINE POPUP (popname) FROM 2, SCOL()/3

      FOR bars = 1 TO 50
         barname = "bar" + LTRIM(STR(bars))
         DEFINE BAR bars OF (popname) PROMPT barname
      ENDFOR

      ACTIVATE POPUP (popname) NOWAIT
      DEACTIVATE POPUP (popname)
   ENDFOR


Additional reference words: FoxWin 2.50 2.50a 2.50b buglist2.50
buglist2.50a
buglist2.50b gpf errmsg err msg buglist2.60 2.6
KBCategory: kbenv kbprg kbbuglist
KBSubcategory: FxenvMemory


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: June 27, 1995
© 1998 Microsoft Corporation. All rights reserved. Terms of Use.