我有我的C#.net类库(MyLib.dll
)。 MyLib.dll正在调用通过引用添加到我的类库(MyLib.dll)的其他第三方DLL文件(Other.dll
)。如何使第三方dll中的方法在vb6中可见?
现在的问题是,MyLib.dll
将用于vb 6.0。
我已经注册了MyLib.dll
来启用COM,并且我在我的类库的Properties中设置了Register for COM Interop
选项。
此外,我已生成.tlb
文件MyLib.dll
(使用Regasm
)和Other.dll
使它们在COM中可见。 我可以在参考文献vb6中看到MyLib and Other
。
MyLib
中的方法是可见的,但在使用vb6打开时,Other
中的方法不可见。
我也尝试将MyLib放入GAC,但Other.dll
(第三方dll)不支持vb6,它只支持C#.net和VB.Net。
如何使vb6中的Other.dll
中的方法可见。
有什么办法让第三方dll中的方法可见吗?
仅仅因为你通过TlbExport运行Other.dll并不意味着所有的对象和方法都被暴露。使用OLEView检查Other.tlb以查看它是否按预期工作。发布IDL以获取更多帮助。 – tcarvin 2012-08-08 11:17:43
这需要将属性应用于Other.dll中的类。如果你没有它的源代码,那么你不能这样做。 – 2012-08-08 12:36:39
@HansPassant我没有它的源代码 – 2012-08-08 12:53:38