2
我有一个VB6的Active DLL,我试图从C#调用。为什么我从C#应用程序调用VB6 ActiveX DLL失败,并显示“没有支持此接口”?
我使用tblimp转换并导入到2010年VS
我然后使用它实例:
AppWebActiveX.Users appWebActiveX = new appWebActiveX.Users();
有一个用户界面和UsersClass类时,我看在对象浏览器。
然后我打电话:
bool isExistingUser = appWebActiveX.IsExistingUser("cat");
bool IsExisting(string)
是一个有效的方法,根据对象的浏览器。
然而,这将返回:
无法转换类型的COM对象 'AppWebActiveX.UsersClass' 到接口类型 'AppWebActiveX._Users'。 ...没有这样的接口支持...
最新的堆栈调用是System.StubHelpers.StubHelpers.GetCOMIPFromRCW。
我在Windows Server 2003 Standard Edition(x86 - 32位)上运行该应用程序,它是一个32位DLL。我正在从C#控制台应用程序调用。
有什么建议吗?
您的.NET应用程序是否在64位操作系统上以64位模式运行? – vcsjones
您使用一个参数调用方法,但您的签名有2个参数。除非这是一个错字,他们是不一样的方法。 – user957902
对不起。这是一个错字。我现在修复了它。 – dommer