vb6.0 IDE开发环境能创建 Activex DLL工程,这类工程发布的DLL,从严格意义上VB建立的DLL并不是像VC一样的动态链接库,VB建立的是ActiveX DLL,不能像kernel32.dll”那样通过“Declare Function .....”来调用的,这种ActiveX DLL是通过访问类的方式调用的:step1,注册DLL;step2,开一个“标准EXE”工程,然后在“工程”选项中,单击“引用”,找到“.dll”的文件名,在前面的复选框中打勾,代码 新建一个类,访问类的方法,如下:
Dim Ncls As New PRO.Class1
Ncls.Function1(para1)
那VB怎样创建“标准”的DLL呢?
一,VB编译文件原理
首先需要明白VB编译文件时实际上采取了两次编译的方法,首先是调用C2.exe产生*.OBJ文件,然后调用Link.EXE连接,C2.exe 和LINK.exe 在VB的安装目录可以找到:C:\Program Files\Microsoft Visual Studio\VB98。如果在LINK的时候添加EXPORT选项,实际上是可以输出函数的。但是,在VB的工程选项中将这些屏蔽了。而且过分的是:VB在Build完成后会将OBJ文件删除,这样就无法手动通过Link来创建我们需要的DLL了。
二,制作“标准”DLL文件
对于“link.exe”,可以通过改变参数来调整其编译链接后的结果。因此,我们可以通过截获工程的obj文件,再把调用LINK.exe链接这些obj文件,并指明“/EXPORT”的函数即可。
第一步,如何截获工程的obj文件
步骤一:建立一个假的“Link.exe”;
建立一个新的项目,在那个项目中建立一个“Form”,然后,在“Fo