ASP.NET中:类型不匹配。 (Exception from HRESULT: 0x80020005 (DISP_E_TYPEMISMATCH))

来源:百度知道 编辑:UC知道 时间:2024/05/25 11:50:16
我用VC做了个COM(dll类型),现在在ASP.NET(language为VB)里调用它里面的方法,出现了上面的错误(在VB中调用没有问题),具体错误如下:
类型不匹配。 (Exception from HRESULT: 0x80020005 (DISP_E_TYPEMISMATCH))
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.Runtime.InteropServices.COMException: 类型不匹配。 (Exception from HRESULT: 0x80020005 (DISP_E_TYPEMISMATCH))

源错误:

行 26: Public Sub client_receive ( sender As Object,e As EventArgs )
行 27: Dim msg As String
行 28: myClient.receiveTest ( msg )
行 29: clientInfo.Text = clientInfo.Text & DateTime.Now.ToLongTimeString () & " 接收到数据:" & msg & vbCrLf
行 30: End Sub

源文件: E:\CG\ASP\Client\ClientDemo.aspx 行: 28

堆栈跟踪:

[COMException (0x80020005): 类型不匹配。 (Exception from HRESULT: 0x80020005 (DISP_E_TYPEMISMATCH))]
Microsoft.VisualBasic.CompilerServices.LateBinding.InternalLateCall(Object o, Type objType, String name, Object[] args, String[] p

问题出在第28行行 myClient.receiveTest ( ) 需要的参数并不是string 类型的。。你传参数前要先改变参数类型为正确类型才可以。。具体什么类型自己在帮主里面查下就知道了。。