所以我的问题比较简单,我是否可以创建引用dll中的类的VB6应用程序,然后在运行时用该dll替换另一个类?
现在我的猜测是..。在VB6没有机会。
因此,我的想法转向了一个VB.net互操作dll。我可以在这里做它,然后从VB调用互操作dll吗?
再说一次,我猜不会.但如果有人知道的话我会很高兴的。
我认为真正起作用的唯一东西是.Net中的DI,但我仅限于.net 2或3.5,所以我不知道这是否可能。
所以作为背景.
我有一个特定的网站使用的dll,但我们不想发布给每个人。相反,我们希望构建一个克隆dll,它只设置了接口,以便VB6构建将完成。当它到达需要它的站点时,它们想要替换虚拟dll,然后删除它们的版本。
注意:我们在安装RegFreeCOM时确实使用了它,因此如果需要的话,我可以使用清单文件。
任何想法都将不胜感激。
尼克
发布于 2011-11-17 16:16:45
它是一个COM dll,因此它不会静态地链接到VB6 exe,只要类型库中的clsid和接口ids对于两个dll都是相同的,您就可以在合适的情况下交换它们。(如果这是一个VB6 dll,这与“二进制兼容性”构建选项无关)
发布于 2011-11-17 16:26:18
您也可以使用后期绑定,而不是直接在VB6代码中进行引用,而是创建一个对象,然后将该对象设置为一个实例。例子和资料:
MVPS
微软
https://stackoverflow.com/questions/8170297
复制相似问题