FIX: SPACE BAR+ARROW KEY Causes GPF When Unloading Form

ID: Q160161


The information in this article applies to:
  • Microsoft Visual Basic Standard, Professional, and Enterprise Editions, 16-bit and 32-bit, for Windows, version 4.0


SYMPTOMS

With a form that contains at least two controls that are capable of receiving focus, if the SPACE BAR+ARROW KEY combination is pressed while the focus is on the control whose click event contains the code "Unload Me," a General Protection Fault (GPF) will occur.


RESOLUTION

Instead of unloading the form immediately in the click event of a control, place a Timer control on the form and use it to defer this action for one millisecond using the following code:


   Private Sub Command1_Click()
       '''Unload Me
       Timer1.Interval = 1
   End Sub

   Private Sub Timer1_Timer()
       Unload Me
   End Sub 


STATUS

Microsoft has confirmed this to be a bug in the Microsoft products listed at the beginning of this article. This bug has been fixed in Visual Basic 6.0.


MORE INFORMATION

Steps to Reproduce Problem

  1. Start a new project in Visual Basic. Form1 is created by default.


  2. Place two CommandButtons, Command1 and Command2, on Form1.


  3. Place the following code in the Command1_Click event:
    
       Private Sub Command1_Click()
           Unload Me
       End Sub 


  4. Run the project by pressing the F5 key.


  5. With the focus on Command1, press the SPACE BAR+ARROW KEY combination and note that a GFP occurs.


Additional query words: kbVBp400bug kbVBp600fix kbVBp kbdsd kbDSupport kbCtrl

Keywords : kbGrpVB
Version : WINDOWS:4.0
Platform : WINDOWS
Issue type : kbbug


Last Reviewed: February 2, 2000
© 2000 Microsoft Corporation. All rights reserved. Terms of Use.