Q197193: FIX: Application Error in Locals Window with Specific Variables
Article: Q197193
Product(s): Microsoft FoxPro
Version(s): WINDOWS:5.0,5.0a
Operating System(s):
Keyword(s): kbMiscTools kbvfp500aBUG kbvfp600fix kbXBase
Last Modified: 06-AUG-1999
-------------------------------------------------------------------------------
The information in this article applies to:
- Microsoft Visual FoxPro for Windows, versions 5.0, 5.0a
-------------------------------------------------------------------------------
SYMPTOMS
========
When you do the following:
1. Run a program that uses several variables consisting of single alpha
character names.
2. Release a form.
3. Scroll the Debugger Locals window to look at some of the variable values.
Windows displays an application error message, and Visual FoxPro is terminated.
The message displayed depends on the operating system:
- Under Windows NT, an error message similar to the following appears:
An application error has occurred and an application error log is being
generated.
vfp.exe
Exception: access violation (0xc0000005), Address 0x0043e8db
- Under Windows 9x, an error message similar to the following appears:
This program has performed an illegal operation and will be shut down. If the
problem persists, contact the program vendor.
If you click Details in the dialog box, a message similar to the following
appears:
VFP caused an invalid page fault in module VFP.EXE at 0137:0044940e.
STATUS
======
Microsoft has confirmed this to be a bug in the Microsoft products listed at the
beginning of this article. This bug has been corrected in Visual FoxPro 6.0.
MORE INFORMATION
================
Steps to Reproduce Behavior
---------------------------
1. Run the following code from a program (.prg) file:
SET STEP ON
CLEAR DEBUGGER
STORE .t. to a,b,c,d,e,f,g,h
KEYBOARD "{enter}"
TheForm=CreateObject("aForm")
TheForm.show
READ events
RETURN
DEFINE class aForm as form
ADD object aButton as commandbutton
PROCEDURE aButton.click
thisform.release
ENDPROC
ENDDEFINE
2. Switch to the debugger by pressing ALT+Tab.
3. Scroll down in the Locals Window to the last item by clicking on the down
arrow in the Locals Window scroll bar.
4. The Locals window scroll bar must be visible for this behavior to occur. If
you do not see the error, you can make the Locals window shorter by resizing
it with the mouse, and repeating the steps.
RESULT: You will receive an application error that will vary depending on the
operating system. See the SYMPTOMS section above for details. The addresses may
vary depending on operating system version or Visual FoxPro 5 build number.
This only happens with these specific variable names. If you modify the STORE
command in the program above to read as follows, the behavior does not occur:
STORE .t. to aa,bb,cc,dd,ee,ff,gg,hh
As a rule, it is a good idea to avoid the letters "A" through "N", uppercase or
lowercase, for variable, field, or table names. Visual FoxPro uses these as
default alias names for tables when tables are opened and their names are
already in use.
Example:
USE table1
USE table1 AGAIN IN 0
The second table1 will be used under the alias A.
This error does not occur if you do not scroll in the Locals window.
(c) Microsoft Corporation 1998, All Rights Reserved. Contributions by Jim
Saunders, Microsoft Corporation
Additional query words:
======================================================================
Keywords : kbMiscTools kbvfp500aBUG kbvfp600fix kbXBase
Technology : kbVFPsearch kbAudDeveloper kbVFP500 kbVFP500a
Version : WINDOWS:5.0,5.0a
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 1986-2002.