为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

VB调用DLL

2018-04-29 4页 doc 15KB 14阅读

用户头像

is_751406

暂无简介

举报
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
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,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索