使用DLL中的类创建VB6应用程序,然后在构建后换出该DLL?

时间:2011-11-17 16:02:40

标签: vb.net vb6 com-interop

所以我的问题相对简单,我可以创建引用dll中的类的VB6应用程序,然后在运行时将该dll替换为另一个吗?

现在我的初步猜测是......在VB6中没有机会。

所以我的想法转向VB.net互操作dll。我可以在这里做,然后从VB调用interop dll吗?

同样,我的猜测不会......但如果有人知道不同,我会很高兴。

我认为唯一可以实际工作的是DI in .Net,但是我只限于.net 2,或者大幅推动3.5,所以我不知道这是否可行。

所以背景......

我有一个特定网站使用的dll,但我们不想将它发送给所有人。相反,我们想要构建一个只有接口设置的克隆dll,以便完成VB6构建。 当它到达需要它的站点时,他们想要替换虚拟dll,而是放入他们的版本。

注意:我们确实在安装RegFreeCOM时使用它,所以我确实拥有可以根据需要使用的清单文件。

非常感谢任何想法。

尼克

2 个答案:

答案 0 :(得分:9)

它是一个COM dll,所以它不是静态链接到VB6 exe,只要clsids和接口id在两个DLL的类型库中是相同的,你可以根据需要交换它们。 (如果它是一个VB6 dll,这对于'二进制兼容性'构建选项来说是微不足道的)

答案 1 :(得分:0)

您也可以使用后期绑定,而不是直接在VB6代码中进行引用,您将创建一个对象,然后将该对象设置为一个实例。 示例和信息:

MVPS

Microsoft