DOCUMENT:Q136338  24-MAR-2000  [foxpro]
TITLE   :FIX: Windows 95 GDI Leak with Show Window Contents Setting
PRODUCT :Microsoft FoxPro
PROD/VER:3.00
OPER/SYS:
KEYWORDS:kbenvkbbuglist kbfixlist

======================================================================
-------------------------------------------------------------------------------
The information in this article applies to:

 - Microsoft Visual FoxPro for Windows, version 3.0 
-------------------------------------------------------------------------------

SYMPTOMS
========

With the Project Manager open, GDI resources dwindle when dragging windows
within Visual FoxPro under Windows 95 if the Microsoft Plus feature "Show window
contents while dragging" is enabled.

WORKAROUND
==========

The loss of GDI resources can be prevented by disabling the Microsoft Plus "Show
window contents while dragging" feature. If the GDI resources become very low,
most may be recovered by exiting and then restarting Visual FoxPro.

STATUS
======

Microsoft has confirmed this to be a problem in the Microsoft products listed at
the beginning of this article. This problem was corrected in Visual FoxPro 3.0b
for Windows.

MORE INFORMATION
================

Microsoft Plus is a set of companion enhancements for Windows 95 which can be
installed to add functionality to the base feature set of Windows 95.

Steps to Reproduce Problem
--------------------------

1. Install Microsoft Plus, and select the "Visual Enhancements" option when
   installing.

2. Using the right mouse button, click the Windows 95 desktop, and select
   Properties.

3. Click the Plus! tab, and select the "Show window contents while dragging"
   check box. The Plus! tab will not be available if Microsoft Plus is not
   installed.

4. Start the Windows 95 System Resource Meter from the Start Menu. Click the
   Start button. Then click Programs, click Accessories, click System Tools, and
   click Resource Meter. A green icon will appear in the Taskbar to the left of
   the clock.

   If the Resource Meter does not appear in the Start menu, it has not been
   installed. Install it by opening the Control Panel under My Computer. Click
   the Add/Remove Programs icon. Then click the Windows Setup tab, and select
   Accessories in the Components list. Click Details, and select the System
   Resource Meter check box in the Components list. Click the OK button twice.
   Windows 95 will prompt for the CD-ROM disc or floppy disk to complete the
   installation.

5. Start Visual FoxPro, and create a new project by clicking New on the File
   menu. Click Project, and then click New File. Type testproj in the Enter box
   of the Save As dialog box, and click Save.

6. Add a new form to the project by clicking the Documents tab of the Project
   Manager. Then select Forms, and click New. Click New Form to create the form.

7. Check the current System Resources by placing the mouse pointer over the
   green System Resource Meter icon in the taskbar. The percentage of available
   System, User, and GDI resources appears. Note the GDI percentage.

8. Click the Form Designer title bar in the center, hold down the mouse button
   and drag the mouse pointer around the Visual FoxPro desktop as follows: top
   right, top left, bottom left, bottom right. Repeat this about 20 times.

9. Repeat step 7, and read the GDI percentage. Observe that it falls by from 1%
   to 5% for each set of 20 drags of the form designer around the Visual FoxPro
   desktop.

Additional Notes
----------------

 - The GDI does not leak memory if the Project Manager is not open or if "Show
   window contents while dragging" is not enabled.

 - Closing all windows in Visual FoxPro will not fully recover the GDI resources
   lost. Closing Visual FoxPro itself will cause most or all of the GDI
   resources to be recovered.

 - During a long programming session, the GDI resources will eventually become
   depleted. At this point, you need to exit Visual FoxPro and restart to
   recover the resources.

Additional query words: VFoxWin fixlist3.00b buglist3.00 sysmeter insufficient plus pack memory

======================================================================
Keywords          : kbenv kbbuglist kbfixlist
Technology        : kbVFPsearch kbAudDeveloper kbVFP300
Version           : 3.00
Issue type        : kbbug
Solution Type     : kbfix

=============================================================================

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.

Copyright Microsoft Corporation 2000.