其实用他这个方法,我觉得那个“假 Link.exe”应该这样做好些:新建一个 标准EXE工程。 移除 Form1(不用保存它)。 然后添加一个标准模块,加入下面这段代码: Private Sub Main() Open "CmdLine.txt" For Output As #1 Print #1, VBA.Command$ Close MsgBox "现在可以拷贝OBJ文件了!", vbInformation End Sub 然后编译成 Link.exe ,照他说的方法替换文件。这样,在编译DLL文件时,把VB6所在目录内的 CmdLine.txt 打开,就能看到 用 /EXPORT:函数名 把函数列表加上(可以有几个),再全部复制下来,作为Link2.exe 的参数就行了。 只是他这种方法,用起来很麻烦,还不如用老马他们的那个“函数添加大师”。
你完全照他的例子来做,没有 mathadd、mm、rit 这三个函数,当然就出了3个 error(错误) 了。
只要有error ,链接就不能成功。
但是 warning(警告) 基本是可以不管的。如果你按他说的例子做,应该删除这几个参数: /EXPORT:mm /EXPORT:mathadd /EXPORT:rit
但是要增加这个: /EXPORT:fun1 /EXPORT:fun2这样就成功了。
移除 Form1(不用保存它)。
然后添加一个标准模块,加入下面这段代码:
Private Sub Main()
Open "CmdLine.txt" For Output As #1
Print #1, VBA.Command$
Close
MsgBox "现在可以拷贝OBJ文件了!", vbInformation
End Sub
然后编译成 Link.exe ,照他说的方法替换文件。这样,在编译DLL文件时,把VB6所在目录内的 CmdLine.txt 打开,就能看到
用 /EXPORT:函数名 把函数列表加上(可以有几个),再全部复制下来,作为Link2.exe 的参数就行了。
只是他这种方法,用起来很麻烦,还不如用老马他们的那个“函数添加大师”。
并且,这个DLL实质上还是ActiveX DLL。
注:是vc6和vc2010的都试过,64位win7下失败,xp下正常。vb按标准dll来调用,在64位win7下也能正常运行