Microsoft KB Archive/192129

= PRB: Run-Time Error '373' or '-2147417848(80010108)' =

Article ID: 192129

Article Last Modified on 5/13/2003

-

APPLIES TO


 * Microsoft Visual Basic 5.0 Learning Edition
 * Microsoft Visual Basic 6.0 Learning Edition
 * Microsoft Visual Basic 5.0 Professional Edition
 * Microsoft Visual Basic 6.0 Professional Edition
 * Microsoft Visual Basic 5.0 Enterprise Edition
 * Microsoft Visual Basic 6.0 Enterprise Edition

-



This article was previously published under Q192129



SYMPTOMS
When passing a form to a public procedure of a compiled UserControl, you receive one of the following error messages:

Run-time error '373': This interaction between compiled and design environment components is not supported.

-or-

Run-time error '-2147417848(80010108)': Method 'xxx' failed

The first error is received if running a Visual Basic 6.0 project, the second applies to Visual Basic 5.0 projects.



CAUSE
Forms and controls are private objects to the Visual Basic project that created them. Therefore, they should not be passed as parameters to procedures outside the project. Although you can work around this error message by adding the UserControl project and the test client project to the same project group, passing forms and controls outside the project that originally created them may have unpredictable side effects and is strongly discouraged.



RESOLUTION
There are two possible resolutions to avoid this behavior:


 * Do not pass forms or controls outside a project.
 * Add the UserControl and the client projects to the same project group.



STATUS
This behavior is by design.



Steps to Reproduce Behavior
Create the UserControl:

 Create a new UserControl project in Visual Basic, and name it TestCtl. Add a form to the project.  Add the following code to the UserControl's code module: Public Sub ShowForm(frm As Object) Form1.Show vbModal, frm

End Sub  Compile the project and create TestCtl.ocx.

Create the Test Client Project:

 Create a Standard EXE project in Visual Basic. Form1 is created by default.</li> Add TestCtl.ocx to the ToolBox by selecting Components from the Tools menu and selecting the TestCtl control.</li> Add a TestCtl to Form1.</li> Add a CommandButton (Command1) to Form1.</li>  Add the following code to Form1's code module: Private Sub Command1_Click UserControl11.ShowForm Me     End Sub </li> Press the F5 key to run the project. When you click Command1, one of the following messages is received:

Run-time error '373': "This interaction between compiled and design environment components is not supported." for a VB6 project.

-or-

Run-time error '-2147417848(80010108)': "Method 'xxx' failed" for a VB5 project.

</li></ol>

Additional query words: kbdss kbDSupport kbVBp kbCtrlCreate kbVBp500 kbVBp600

Keywords: kbprb KB192129

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.