Q163037: FIX: Label Properties Cause Illegal Operation
Article: Q163037
Product(s): Microsoft FoxPro
Version(s): 5.0a 5.0
Operating System(s):
Keyword(s): kbprogramming kbvfp kbvfp500aBUG kbvfp500bugkbbuglist
Last Modified: 23-MAR-2000
-------------------------------------------------------------------------------
The information in this article applies to:
- Microsoft Visual FoxPro for Windows, versions 5.0, 5.0a
-------------------------------------------------------------------------------
SYMPTOMS
========
Running a program that instantiates a form containing a label that has
properties of Autosize and WordWrap together causes a stack fault.
In Windows 95, the message shows a dialog box with Visual FoxPro as its title
saying the following:
This Program has performed an illegal operation and will be shut down.
The Details button opens a message saying the following:
VFP caused a stack fault in module VFP.EXE.
In Windows NT, the message is in a Dr. Watson dialog box and says the following:
An application error has occurred and an application error log is being
generated. VFP.exe - Exception: stack overflow [0xc00000fd].
Address<...>.
After the error message appears, VFP shuts down.
RESOLUTION
==========
The error does not occur if the label properties include either AutoSize or
WordWrap, but not both.
STATUS
======
Microsoft has confirmed this to be a bug in the Microsoft products listed at the
beginning of this article. This has been corrected in Visual FoxPro 6.0.
MORE INFORMATION
================
The same error may occur from a label on a form generated by the Form Builder.
The workaround in that situation is different. For more information on that form
of the problem, please see the following article in the Microsoft Knowledge
Base:
Q162253 PRB: Form Builder Form Causes Illegal Operation
Steps to Reproduce Behavior
---------------------------
Copy the following code into a program named LabelTest.prg, then run the
program:
********************************************************
*- LabelTest.prg
*- A program to demonstrate the effect of combining the
*- Autosize and WordWrap properties on a label.
********************************************************
PUBLIC x
x=CREATEOBJECT("Form")
x.AddObject("mylabel","test")
x.Visible=.t.
DEFINE CLASS test AS label
AutoSize = .T.
WordWrap = .T.
PROCEDURE Init
LOCAL lcTest,lcname
lcname=THIS.NAME+"A" && Get a unique name
THIS.PARENT.ADDOBJECT(lcname,'label')
lcTest=lcname
WITH THIS.PARENT.&lcTest
.AUTOSIZE=THIS.AUTOSIZE
.WORDWRAP=THIS.WORDWRAP && Comment this line for success.
.VISIBLE=.T.
ENDWITH
ENDPROC
ENDDEFINE
Additional query words: kbvfp600fix
======================================================================
Keywords : kbprogramming kbvfp kbvfp500aBUG kbvfp500bug kbbuglist
Technology : kbVFPsearch kbAudDeveloper kbVFP500 kbVFP500a
Version : 5.0a 5.0
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.