Knowledge Base

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

Article ID: 160161

Article Last Modified on 6/24/2004


APPLIES TO


This article was previously published under Q160161

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: kbbug kbfix KB160161