PRB: Run-Time Error '373' or '-2147417848(80010108)'
ID: Q192129
|
The information in this article applies to:
-
Microsoft Visual Basic Learning, Professional, and Enterprise Editions for Windows, versions 5.0, 6.0
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.
MORE INFORMATION
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.
- Add TestCtl.ocx to the ToolBox by selecting Components from the Tools
menu and selecting the TestCtl control.
- Add a TestCtl to Form1.
- Add a CommandButton (Command1) to Form1.
- Add the following code to Form1's code module:
Private Sub Command1_Click()
UserControl11.ShowForm Me
End Sub
- 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.
Additional query words:
kbdss kbDSupport kbVBp kbCtrlCreate kbVBp500 kbVBp600
Keywords : kbGrpVB
Version : WINDOWS:5.0,6.0
Platform : WINDOWS
Issue type : kbprb