PRB: Selecting Cancel Cancels User Code But Not Form Execution

Last reviewed: April 30, 1996
Article ID: Q130342
The information in this article applies to:
  • Microsoft Visual FoxPro for Windows, version 3.0

SYMPTOMS

The form runs and appears even though you clicked Cancel in the Program Error dialog box. The form and all objects are not removed from memory.

CAUSE

The Cancel button is supposed to cancel running code only. This is by design. The form is not code, so clicking Cancel has no affect on the form. All Cancel is supposed to do is cancel all the procedures, methods, and events currently in the call stack. It is aware of the existence of objects.

WORKAROUND

If you want to kill the object upon an occurrence of a program error, you can suspend the program, release the object, and then cancel the program.

STATUS

This behavior is by design.

MORE INFORMATION

Steps to Reproduce Behavior

  1. Create a new form.

  2. In the LOAD EVENT for the form, type ?MYTEST1() on one line, and ?MYTEST2() on the second line. (intentional errors)

  3. Open the Debug window from the Tools menu.

  4. Add _SCREEN.ACTIVEFORM to the Debug window.

  5. Run the Form.

  6. When the program error dialog appears, click the Cancel button. Notice that the user-defined code in the Load method is canceled. The second line is not executed, but the form object is created and displayed.


Additional reference words: 3.00 VFoxWin Suspend Ignore Help
KBCategory: kbprg kbprb
KBSubcategory: FxprgClassoop


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.

Last reviewed: April 30, 1996
© 1998 Microsoft Corporation. All rights reserved. Terms of Use.