Microsoft KB Archive/163037

From BetaArchive Wiki

Article ID: 163037

Article Last Modified on 10/16/2002



APPLIES TO

  • Microsoft Visual FoxPro 5.0 Standard Edition
  • Microsoft Visual FoxPro 5.0a



This article was previously published under Q163037

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:

162253 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: kbbug kbfix kbprogramming KB163037