FIX: Procedures Continue When Application Ends

ID: Q180627


The information in this article applies to:


SYMPTOMS

If a form is unloaded by clicking the "X" on the form title bar while a message box is being displayed, the procedure that displayed the message box continues executing while the application unloads. The application still unloads, but there may be visual indications that the code is still being executed, such as other message boxes being displayed and dismissed.


RESOLUTION

To avoid this problem, disable the form before showing the message box. You should also call the Show method of the form to prevent it from being minimized, as shown in the following sample:


   Private Sub Command1_Click()
       Form1.Enabled = False
       MsgBox "You're unable to click 'x' now"
       Form1.Show
       MsgBox "I should appear"
       Form1.Enabled = True
       Form1.Show
   End Sub 


STATUS

Microsoft has confirmed this to be a problem in the Microsoft products listed at the beginning of this article.

This problem was corrected in Windows CE Toolkit for Visual Basic 6.0.


MORE INFORMATION

Steps to Reproduce Behavior

  1. Create a new Windows CE Project in Visual Basic 5.0. Form1 is created by default.


  2. Add a CommandButton to Form1.


  3. Add the following code to Form1.
    
        Private Sub Command1_Click()
           MsgBox "Click 'x' now"
           MsgBox "I should not appear"
        End Sub 


  4. Press the F5 key to run the project.


  5. Click Command1.


  6. When the first message box appears, click "x" on the Form to close the application. Note that the second message box flashes on the screen and is dismissed.


© Microsoft Corporation 1999, All Rights Reserved.
Contributions by Mike Dixon, Microsoft Corporation

Additional query words: vbce vbce5 vbce6


Keywords          : kbToolkit kbVBp kbVBp500bug kbVBp600fix kbWinCE kbWinCE100 kbGrpVB 
Version           : WINDOWS:1.0
Platform          : WINDOWS 
Issue type        : kbbug 

Last Reviewed: February 25, 1999