VB调用DLLVB调用DLL
制作好DLL之后,就可以用VB调用它,实现VB调用C程序。VB程序要使用DLL中的函数,首先必须要有特殊的声明,用Declare声明语句在窗体级或模块级或全局模块的代码声明段进行声明,将动态链接库中的函数声明到VB中,供VB程序调用。
语句格式为:Declare Sub 过程名Lib [ Alias " 别名]([ByVal 参数AS类型]),或为Declare Function函数名Lib [Alias " 别名]([ByVal 参数AS类型])AS类型在声明中首先用Declare关键字表示声明DLL中的...
VB调用DLL
制作好DLL之后,就可以用VB调用它,实现VB调用C程序。VB程序要使用DLL中的函数,首先必须要有特殊的声明,用Declare声明语句在窗体级或模块级或全局模块的代码声明段进行声明,将动态链接库中的函数声明到VB中,供VB程序调用。
语句格式为:Declare Sub 过程名Lib [ Alias " 别名]([ByVal
AS类型]),或为Declare Function函数名Lib [Alias " 别名]([ByVal 参数AS类型])AS类型在声明中首先用Declare关键字
示声明DLL中的函数。在C语言中有的函数类型为VOID,它表示不具有返回值,则必须用关键字Sub将其声明成过程。有的函数具有返回值,则必须用关键字Function将其声明成函数,并且在声明语句的最后要用AS关键字指明函数返回值的类型。 例如上面的ADD.DLL在VB中就可以声明为:
Declare Function ADD Lib c:\ADD.dll―ByVal X AS Integer, ByVal Y AS Integer ,ByVal filein as string)AS Integer
通过此声明语句将函数ADD声明到VB中,便可直接调用。
Declare语句只能调用标准DLL,而不能用于调用ActiveX DLL,这是你程序出错的原因。VB无法生成标准DLL,只能生成ActiveX DLL。调用ActiveX DLL,一般通过CreateObject语句或在Project|Reference中引用。
如何创建和使用最少的 ActiveX 组件在 VB 中
步骤 1: 创建服务器
1. 在 Visual Basic 中启动一个新的项目。 选择 ActiveX EXE 或
ActiveX DLL。
2. 从 Project 菜单,选择添加模块,然后模块。
3. 在 Module 1 的通用声明部分中键入下面的代码: Sub Mai
n ()
注意: End Sub 将自动为您添加。
4. General Declaration section of Class1 to add following code: Public MyString As String
Public Function MyFunction() As String
MyFunction = "You never know what you're gonna get."
End Function
Public Sub Class_Initialize()
MyString = "Life is like a box of chocolates."
End Sub
5. 在 Class 1 的属性窗口,设置以下属性: Property Value
------------------------------------
Instancing 5 - MultiUse
6. 从项目菜单,选择 Project 1 属性。 在常规选项卡,从启动对象
列表中选择 Sub Main 并单击确定。
7. by from Run menu choosing Start or by pressing F5 key st
art program。
您现在有一个完整的 (尽管受限制) OLE 自动化服务器。 更高
版本,您可以从文件菜单来创建可用,而不必运行该项目的 ActiveX
组件选择 Project 1 EXE 或生成 Project 1 DLL。 现在,在您想
自动完成您的服务器。
8. 最小化 Visual Basic。
回到顶端
步骤 2: 创建客户端访问服务器
1. 启动 Visual Basic 的第二个副本。 此时将创建一个新的项目 (Project 1) 与默认窗体 (Form 1)。
2. 将下面的代码添加到 Form 1 的相应的事件: ' In the General Declarations section:
Private MyObj As Object
Private Sub Form_Load ()
Set MyObj = CreateObject("Project1.Class1")
End Sub
Private Sub Form_Click()
Print MyObj.MyString
Print MyObj.MyFunction
End Sub
Private Sub Form_Unload (Cancel As Integer)
Set MyObj = Nothing
End Sub
3. by from Run menu choosing Start or by pressing F5 key st
art program。
4. 单击 Form 1。 以下文本是输出到 Form 1 上:
life is like of chocolates box。
您永远不会知道您是 gonna 获取。
Form 1 加载时, 它实例化您的 ActiveX 组件的一个副本。 在上单击,它使两个 OLE 调用: 一个检索 MyString 公用变量,另一个用来调用 MyFunction 公共函数的值。
Form 1 卸载时,它会破坏其创建的 ActiveX 组件的实例。 如果这是在内存中的最后一个实例,是从以及内存中删除服务器进程。
本文档为【VB调用DLL】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。