【发布时间】:2011-12-31 12:02:03
【问题描述】:
所以我的问题相对简单,我可以创建引用 dll 中的类的 VB6 应用程序,然后在运行时用该 dll 替换另一个吗?
现在我的初步猜测是……在 VB6 中没有机会。
所以我的想法转向了 VB.net 互操作 dll。我可以在这里做,然后从VB调用interop dll吗?
同样,我的猜测是否定的......但如果有人知道不同,我会很高兴。
我认为唯一可行的方法是 .Net 中的 DI,但我仅限于 .net 2 或 3.5,因此我不知道这是否可能。
所以对于背景....
我有一个特定站点使用的 dll,但我们不想将它发送给所有人。相反,我们想要构建一个仅具有接口设置的克隆 dll,以便完成 VB6 构建。 当它到达需要它的站点时,他们想要替换虚拟 dll,并改为放入他们的版本。
注意:我们确实在安装 RegFreeCOM 时使用它,所以我确实有清单文件,如果需要我可以使用它。
任何想法都将不胜感激。
尼克
【问题讨论】:
-
能否在 VB6 中使用后期绑定而不是对 dll 的硬引用?
-
您可以在大约 10 分钟内进行测试。创建一个 dll 项目,使用一个返回字符串的方法放置一个类,将其编码为返回“abc”。编写测试工具,添加引用,调用方法并显示它。现在在一个新项目中编写另一个 dll。相同的类名,相同的方法名,返回“def”。将 dll 复制到测试工具文件夹中的第一个,然后运行测试工具。我想你会看到新的字符串,但测试是相信的。如果我在这台机器上安装 VB6,我会这样做,可能比输入评论更快。
-
这是将代码放在 DLL 中而不是在应用程序中的根本原因之一(代码重用/共享是另一个问题)
-
谢谢凯特。设法对其进行了测试,并且按照您所说的进行。我期待 DLL Hell,我很高兴。
标签: vb.net vb6 com-interop