BUG: Error 13 Assigning Variable to UserControl in Same Project (191718)



The information in this article applies to:

  • Microsoft Visual Basic Learning Edition for Windows 5.0
  • Microsoft Visual Basic Learning Edition for Windows 6.0
  • Microsoft Visual Basic Professional Edition for Windows 5.0
  • Microsoft Visual Basic Professional Edition for Windows 6.0
  • Microsoft Visual Basic Enterprise Edition for Windows 5.0
  • Microsoft Visual Basic Enterprise Edition for Windows 6.0

This article was previously published under Q191718

SYMPTOMS

You receive a Type Mismatch Error (13) when assigning a UserControl to a variable if the UserControl is in the same project as the assigning code. The problem does not occur if the UserControl is in a different project or compiled.

RESOLUTION

Load the form containing the UserControl before assigning the UserControl to the variable. (See step 8 in Steps to Reproduce Behavior below.)

STATUS

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

MORE INFORMATION

Steps to Reproduce Behavior

  1. Start a new Standard EXE project in Visual Basic. Form1 is created by default.
  2. Add a UserControl to the project.
  3. Place an instance of the UserControl on Form1.
  4. Add a Standard Module to the project.
  5. Insert the following code into Module1:
          Sub Main()
             Dim x As UserControl1
             Set x = Form1.UserControl11
          End Sub
    
    						
  6. Set the Startup Object of the project to Sub Main.
  7. Run the project. You should receive "Run-time error 13. Type Mismatch."
  8. To resolve the problem, change the code in step 5 to:
          Sub Main()
             Dim x As UserControl1
             Load Form1
             Set x = Form1.UserControl11
          End Sub
    
    						

Modification Type:MajorLast Reviewed:5/13/2003
Keywords:kbbug KB191718