VB封装DLL实例讲解.docx

上传人:牧羊曲112 文档编号:4925828 上传时间:2023-05-23 格式:DOCX 页数:6 大小:416.85KB
返回 下载 相关 举报
VB封装DLL实例讲解.docx_第1页
第1页 / 共6页
VB封装DLL实例讲解.docx_第2页
第2页 / 共6页
VB封装DLL实例讲解.docx_第3页
第3页 / 共6页
VB封装DLL实例讲解.docx_第4页
第4页 / 共6页
VB封装DLL实例讲解.docx_第5页
第5页 / 共6页
亲,该文档总共6页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《VB封装DLL实例讲解.docx》由会员分享,可在线阅读,更多相关《VB封装DLL实例讲解.docx(6页珍藏版)》请在三一办公上搜索。

1、VB封装DLL实例讲解(一)一、DLL基本概念(一)概念DLL即动态链接库(Dynamic Link Library),是由可被其它程序调用的函数集合组成的可执行文件模 块。DLL不是应用程序的组成部分,而是运行时链接到应用程序中。(二)主要优点:1、多个应用程序可以共享一个DLL,而且当多个应用程序调用库的同一个函数时,可执行文件中装 入的只是该函数的内存地址,从而节省内存和磁盘空间;2、使用动态链接库易于我们维护用户程序,即使对动态链接库进行修改也不会影响用户程序;3、从ACCESS角度而言,还可以更好的确保核心代码的安全。二、用VB封装VBA代码,构建自定义的DLL动态链接库(一)ACC

2、ESS中实例代码下面是一个“快速提取字符串中数字.mdb ”实例(该实例在文件包中),单击“提取结果”按钮,将 文本框中的数字在弹出消息显示出来。我将就这个实例演示如何将该实例VBA代码封装成为DLL。字符串;T中国Q mb诟美国英扣国非正跑奉韩国3按钮单击事件代码如下:Private Sub CmdFindnumber_Click()初始字符串输出字符串变量Dim strMAs String初始,Dim strOut As String输出Dim IstrM = Me.Text1从第一个字符向最后一个字符循环,以提取每个字符For I = 1 To Len(strM)判断是否为0到9字符,是

3、则赋值输出If Mid(strM, I, 1) Like 0-9 ThenstrOut = strOut & Mid(strM, I, 1)End IfNext I用MsgBox函数进行输出测试MsgBox strOutEnd Sub以上代码还不能直接用于封装,须将其修改成为公用函数(过程)(二)VB封装实例中VBA代码步骤一:在VB编辑窗中,点菜单【文件】-【新建工程】,打开新建工程窗口2、点确定1、点选 ActiveX DLL步骤二:修改工程名,这即生成的DLL库名1、修改工程名为:我的动态库步骤三:修改类名1、改类名为:提取数字步骤四:在代码窗口输入如下代码。将ACCESS中的单击事件代

4、码,略做修改成为一个公用函数, 然后复制到VB代码编辑窗口代码如下将这前的ACCESS代码改成一个公用函数输入:strPutString字符串变量,需分离数字的字符串输出:fFindNumber字符串变量,得到的数字字符Public Function fFindNumber(strPutString As String) As StringDim strOut As String输出字符串变量Dim I从第一个字符向最后一个字符循环,以提取每个字符For I = 1 To Len(strPutString)判断是否为0到9字符,是则赋值输出If Mid(strPutString, I, 1)

5、Like 0-9 ThenstrOut = strOut & Mid(strPutString, I, 1)End IfNext I数字输出fFindNumber = strOutEnd Function步骤五:编译DLL,点菜单【文件】-【生成我的动态库.dll】,VBA代码封装DLL就完成了。三、在mdb中调用自定义DLL动态链接库(一)新建数据库及窗体新【快速提取数字(DLL)实例.mdb】数据库,新建一个窗体【frmMain】,在窗体添文本框【text0】, 按钮【CmdFindNum】,Caption属性:“提取数字”(见下图)(二)引用【我的动态库.dll】库按【Alt+F11】打

6、开VBE窗口,点菜单【工具】-【引用】,打开引用对话框,完成对我们自己编译 的DLL的引用。可使用的引用(AJ:X/ Vi sii:dl B as l 仁 F or Appl i c at i ons ? Microsoft AcceEi 11. 0 Obj act Librai Micr osoft DkD 3. 6 Obj ent Libr ary .MierijEoft ActiveX Data Lltijpcts Z. 1 / OLE Aut o m=iti dtl查找范围伯:aMrDll文件名(:我的动态库一 dll文件斐型。:类型库 脉.Mb;布, til:*, di。,(三) 在

7、【CmdFindNum】按钮单击事件中加入如下代码。Private Sub CmdFindNum_Click()申明自定义类Dim MyFindNum As 提取数字Dim strOut As String实例化”提取数字类”对象Set MyFindNum = New 提取数字将函数输出结果赋值给自定义字符串变量strOut = MyFindNum.fFindNumber(Text0)在消息框中显示MsgBox ”你提取的数字为:& strOut, vbInformation, ”江羽提示:End Sub点击保存后,你就可以运行一下窗体测试你的成果了本文实例见实例包,下载测试如果提示错误,请重新对自定义类库进行引用。本文只是通过一个简单的实例演示了,如何通过VB封装一般的VBA中代码,因为该代码中并未涉 及到ACCESS应用程序对象,所以在VB中没有对ACCESS对象类库进行引用,另外实例中只是简单演 示了,如何手动实现对DLL的注册引用,在后续文章中我将就如何实现DLL与ACCESS应用程序对接 及DLL的自动注册及引用结合实例进行讲解。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号