[英]Why does my call to a VB6 ActiveX DLL from C# app fail with “No such interface supported”?
我有一个试图从C#调用的VB6活动DLL。
我已经使用tblimp对其进行了转换,并将其导入了VS 2010。
然后,我使用以下方法实例化它:
AppWebActiveX.Users appWebActiveX = new appWebActiveX.Users();
当我在对象浏览器中查看时,有一个Users界面和一个UsersClass类。
然后我打电话给:
bool isExistingUser = appWebActiveX.IsExistingUser("cat");
根据对象浏览器, bool IsExisting(string)
是有效方法。
但是,这返回:
无法将类型为“ AppWebActiveX.UsersClass”的COM对象转换为接口类型为“ AppWebActiveX._Users”。 ...不支持这种接口...
最新的堆栈调用是对System.StubHelpers.StubHelpers.GetCOMIPFromRCW的调用。
我正在Windows Server 2003 Standard Edition(x86-32位)上运行该应用程序,它是32位DLL。 我正在从C#控制台应用程序拨打电话。
有什么建议吗?
原来,我从main方法中省略了[STAThread]属性。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.