Microsoft KB Archive/156873

= PRB: Calling Paint Method Can Cause Recursion in VFP 5.0 =

Article ID: 156873

Article Last Modified on 11/17/2003

-

APPLIES TO


 * Microsoft Visual FoxPro 3.0b Standard Edition
 * Microsoft Visual FoxPro 5.0 Standard Edition
 * Microsoft Visual FoxPro 6.0 Professional Edition

-



This article was previously published under Q156873



SYMPTOMS
Setting the Caption property of an object in the Paint event causes Visual FoxPro to recursively call the event.



CAUSE
Setting or changing the Caption property repaints the object. However, repainting a form or tool bar triggers the Paint event. Therefore, Visual FoxPro enters into a recursive loop.



RESOLUTION
Do not place code in the Paint event that causes a form or toolbar to repaint. Place code that refreshes a form or toolbar in an event that does not call itself recursively. For instance, if the Caption of a label requires changing, place the code in the Refresh method, LostFocus, or Click event of an object.



STATUS
This behavior is by design.



Steps to Reproduce Behavior
WARNING: Close all running applications and save your data before following this procedure. To close all open applications in Windows 3.1, press the CTRL+ESC keys to open the Windows Task List, and then close all the other applications you have running. In Windows 95 and Windows NT, press the CTRL+ALT+Delete keys simultaneously to invoke the Close Dialog window or the Task Manager, respectively. The following the steps will cause Visual FoxPro to enter into a recursive loop. Therefore, Visual FoxPro must be shutdown using either the Windows Task List, Close Program dialog box, or Task Manager.

 Create a form called Test.  Add the following code to the Paint event of the form: ThisForm.Label1.Caption="ABC" WAIT WINDOW PROGRAM TIME .1  Add a label called Label1. Run the form. FoxPro continuously calls the Paint event.

Additional query words: kbdsd VFoxWin

Keywords: KB156873

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.