我的团队需要在同一台服务器上的两个不同文件夹中部署相同的应用程序,但代码略有不同。 我们想在文件夹A上有一个基本代码,在文件夹B上有一些更改的版本。
我试图了解这是否是我们在VB6中可以实现的目标,而这正是我目前正在进行的工作。
首先,我创建了一个类项目(Project2),其中包含一个类(Class1.cls):
Option Explicit
Public Function WeirdMath(Num1 As Double, Num2 As Double) As Double
WeirdMath = Num1 + Num2
End Function
然后我创建了一个标准的exe项目(Project1),它将Project2作为参考。 在exe项目中,我创建了一个包含两个文本框的表单,一个标签和一个按钮。
Option Explicit
Private wm As New Class1
Private Sub Command1_Click()
Dim Num1 As Double
Dim Num2 As Double
Num1 = IIf(IsNumeric(Text1.Text), Text1.Text, 0)
Num2 = IIf(IsNumeric(Text2.Text), Text2.Text, 0)
Label1.Caption = wm.WeirdMath(Num1 , Num2)
End Sub
我在文件夹\ bin1中构建了两个项目,并在该文件夹中注册了Project2.dll。 然后我将Class1.cls代码更改为
Public Function WeirdMath(Num1 As Double, Num2 As Double) As Double
WeirdMath = Num1 - Num2
End Function
并在\ bin2文件夹中构建了两个项目以及此Project1.exe.manifest
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1">
<assemblyIdentity name="Project1" version="1.0.0.0" type="win32"/>
<file name="Project2.dll"/>
</assembly>
我希望 bin1 \ Project1.exe 能够得到两个数字的总和,而 bin2 \ Project1.exe 会有所不同。
它有意义吗? COM dll甚至可以这样工作吗?