我有一个程序集,我已经设法使其对VB6可见,并且它可以工作,但在使用VB5完成相同的事情时遇到问题。
对于VB6,我构建了程序集,使其COM可见,将其注册为COM对象等,程序集显示在VB6的引用列表中,并允许我成功使用它。对象浏览器还显示了assy中的方法。我将程序集及其TLB复制到用于VB5开发的虚拟工作站,并运行Regasm,显然是成功的:
C:\>C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727
\regasm arserviceinterface.dll /tlb:arserviceinterface.tlb
Microsoft (R) .NET Framework Assembly Registration Utility 2.0.50727.3053
Copyright (C) Microsoft Corporation 1998-2004. All rights reserved.
Assembly exported to 'C:\Projects\AR\3rd Party\ARService\arserviceinterface.tlb'
, and the type library was registered successfully请注意,虚拟W/S是Win2k,上面没有.NET Fx 3.5,只有2.0。
程序集显示在可在VB5中选择的引用中,但程序集的方法不显示在对象浏览器中,并且通常不可用。要么是我还没有完成的一个步骤,要么是VB5不知道如何使用这样的COM对象。请注意,VB5安装程序位于虚拟工作站上,而不是安装VB6的同一工作站上。
有什么想法吗?我想到的一件事是,我可能需要在有问题的工作站上生成并使用一个强名称,但是...
发布于 2010-04-03 06:08:50
2.1如果OLE/COM对象查看器无法创建实例,问题出在如何在计算机上注册对象,或者如何安装.Net。
2.2如果OLE/COM对象查看器可以创建实例,那么问题出在VB5的使用方式上。
IUnknown-based对象)还是只支持后期绑定(IDispatch)。我怀疑VB5只支持IUnknown接口,而正是VB5.5引入了对dispinterfaces的支持。所以这可能是你的问题所在。https://stackoverflow.com/questions/2569379
复制相似问题