BUG: (CDK) Cannot Use an Underscore in a Custom Event Name (126221)



The information in this article applies to:

  • Microsoft Visual Basic Standard Edition for Windows 1.0
  • Microsoft Visual Basic Professional Edition for Windows 2.0
  • Microsoft Visual Basic Professional Edition for Windows 3.0

This article was previously published under Q126221

SYMPTOMS

A custom Event containing an underscore character (_) as part of the Event's name will not fire, and it produces duplicate code in the Microsoft Visual Basic Development Environment.

Also, if code is placed in the custom event that has an underscore in its name, a duplicate of the event code will appear in the general section of the IDE.

CAUSE

If an underscore is present in an event's name, the return value from a call to VBFireEvent will be Zero, but the custom event will not be triggered in Visual Basic. This is because the underscore prevents Visual Basic from finding the name of the event in the event list.

The reason for the duplicate code is that Visual Basic is unable to match the code with the event for that control due to the underscore in the event name.

WORKAROUND

Do not use the underscore character as part of the name of a custom event.

STATUS

Microsoft has confirmed this to be a bug in the Microsoft products listed at the beginning of this article. We are researching this problem and will post new information here in the Microsoft Knowledge Base as it becomes available.

MORE INFORMATION

Steps to Reproduce Problem

  1. Create a VBX control that has an underscore character in its event name.
  2. Load the VBX into a Visual Basic project.
  3. Bring up a code window the form containing the control in question.
  4. Choose [general] from the [Object:] drop down list.
  5. Select the [Proc:] drop down list.
  6. As you scroll the listbox, you will see duplicates of the functions and' code you thought were associated with the control event.

Modification Type:MajorLast Reviewed:11/18/2003
Keywords:kbbug KB126221