vb6编译dll
Ⅰ 怎样用VB编写DLL文件
你先打开VB,然后先中“ActiveX Dll”工程,然后开始编辑。编完后,保存一般是以“.cls”和“.vbw”保存。这时你选择“文件”菜单,弹出下拉框,选中“生成.dll”选项,它就会在上面弹出一个进度条“正在生成.dll文件”。生成以后是一个有好象齿轮状的图标。
如果你要引用,就开一个“标准EXE”工程,然后在“工程”选项中,单击“引用”,找到你刚才的“.dll”的文件名,在前面的复选框中打勾,就可以引用你刚才在那里面写的方法等。
Ⅱ VB 怎么编写DLL
编写API类型的DLL请看我后面的哪个文章,不明白的可以网络HI我,我实验成功了
1-4问题,原因是ActiveX DLL 本质是一个控件,所以你使用它就必须像使用控件一样引用,才可以
5、可以,但是这样DLL很难封装API一类的函数,有点类似于自定义控件的效果。
6、可以,见下面的文章
怎样用VB编写.DLL动态链接库文件
VB中创建的DLL只是COM组件,无法作为输出函数的DLL,其实这只是个错误的说法。其实MS非常狡猾,如果你是个VB疯狂发烧友的话,应该早就狂试出这种可以创建输出函数的DLL的方法。
VB编译文件实际上采取了两次编译的方法,首先是调用C2.exe产生*.OBJ文件,然后调用Link.EXE连接。如果在LINK的时候添加EXPORT选项,实际上是可以输出函数的。但是,在VB的工程选项中将这些屏蔽了。而且过分的是:VB在Build完成后会将OBJ文件删除,这样就无法手动通过Link来创建我们需要的DLL了。不过我找到一个比较龌鹾的变通的方法,就是先创建一个Exe工程,在Form_Load事件里面写下面的语句:
Sub Main
If MsgBox("哈哈", vbOKCancel) = vbOK Then
Shell "link2.exe " & Command$
End If
End Sub
然后编译为LinkTemp.EXE,接下来将LINK.EXE改名为Link2.exe,将LinkTemp.EXE改名为Link.EXE。这样在VB调用Link.EXE时会弹出对话框,处理就会中断。这时就可以有机会将OBJ文件拷贝出来了。
然后我创建了一个ActiveX DLL工程,在这个工程里面添加一个Mole并创建一个Public函数mathadd:
Public Function mathadd(ByVal a As Long, ByVal b As Long) As Long
mathadd = a + b
End Function
编译这个工程,在Link的时候就会中断。然后把创建的Class1.obj、Mole1.obj、Project1.obj备份出来。
然后就可以调用Link2.exe连接OBJ到DLL了,我的连接代码是:
Link2.exe "e:\vbdll\Class1.obj" "e:\vbdll\Mole1.obj" "e:\vbdll\Project1.obj" "E:\Program Files\Microsoft Visual Studio\VB98\VBAEXE6.LIB" /ENTRY:__vbaS /EXPORT:mathadd /OUT:"e:\vbdll\ProjectOK.dll" /BASE:0x11000000 /SUBSYSTEM:WINDOWS,4.0 /VERSION:1.0 /Dll /INCREMENTAL:NO /OPT:REF /MERGE:.rdata=.text /IGNORE:4078
注意里面的/ENTRY和/EXPORT开关,/EXPORT开关声明了输出函数mathadd。这样就大功告成了,可以被其他语言引入,例如在VB中,只需要:
Private Declare Function mathadd Lib "e:\vbdll\ProjectOK.dll" (ByVal a As Long, ByVal b As Long) As Long
Ⅲ vb如何编译dll
把C#或VB代码通编译成msil后,相应版本的framework执行...如果你用.net写一个VB文件,在VB语言环境下建立一个类库,然后在BIN\Debug下就可以找到DLL..NET默认工程是类库编译后才是DLL文件.
Ⅳ vb6编译的dll文件在64位的操作系统下能用吗
当然可以了。
如果64位系统不支持,系统会以32位兼容模式运行的。
Ⅳ VB6能编写普通的DLL文件吗
当然可以,VB也能输出真正的DLL
只不过是编译器把一些编译参数屏蔽了,你可以去网上搜索一下关于VB中LINK的使用说明。或者可以去下载“AmicForVB”也可以通过其中的选项编译DLL
Ⅵ 利用vb6.0编的程序如何生成.dll
在新建时可以选择新建 AXTIVEX DLL
如果不显示新建工程对话框可以在工具-》选项-》环境 里选择启动VB时提示创建工程
Ⅶ 如何用VB6写一个DLL文件,供其他程序调用谢谢@!
VB6先创建一个ActiveX DLL 工程 TestDll
在里面加上下面的代码
Function Test(str As String) As Boolean
Test = True
MsgBox str
End Function
编译成activex dll即可
这个dll不是基于C++的标准动态链接库,但却是应用开发效率很高的activeX dll,此控件可以被MFC、Delphi、网页上的javascript和vbscript、vc++所调用和使用。
你可以自己用着试试,工程菜单里点引用,用法与其它语言编的activeX dll用法相同。然后写
TestDll.Test "hello world!"
或者
Dim a As TestDll
set a = New TestDll
a.Test "hello world!"
所以楼上说VB6做不到是很不负责任的,毕竟VB在14年以前1996年就能做此事了。尤其现在几乎所有语言都是写面向对象的程序,像vb这种类似activex组件式的程序已被广泛用于C#、VB.Net等。 而标准dll只不过是面向结构化编程的函数库,属于上一代理念或底层开发的使用了。
Ⅷ 谁能教教我VB6怎么编写DLL,并且调用运行
在vb中制作dll文件及在vb程序中引用此文件
一、在vb中制作dll文件
(1)新建一个Active DLL工程,名字为vbTestdll,类模块的名字为testdll
(2)在类模块中实现一个函数,内容如下:
Public Function mydll() As String
mydll = "Hello World";
End Function
(3)保存,然后在文件菜单中选择 Make vbtestdll.dll项,生成dll文件
二、在vb程序中使用此dll文件
(1)新建一个标准工程。
(2)在工程-引用-浏览里找到vbtestdll.dll文件,并且把它引入
(3)写测试代码,内容如下
Option Explicit
Dim test As testdll'类模块名字
Private Sub Form_Load()
Set test= New testdll 'DLL的一个新实例
Me.Caption = test.mydll '我的标题=返回DLL的Hello World
End Sub
Ⅸ VB6编写DLL文件
VB 能写 DLL 文件是 AxtiveX DLL。
调用 AxtiveX DLL ,该 DLL 必须要先在 组件服务里登记。