VB封装DLL实例讲解_第1页
VB封装DLL实例讲解_第2页
VB封装DLL实例讲解_第3页
VB封装DLL实例讲解_第4页
VB封装DLL实例讲解_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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

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

3、Mid(strM, I, 1) Like 0-9 Then strOut = strOut & Mid(strM, I, 1)End IfNext I用MsgBox函数进行输出测试MsgBox strOutEnd Sub以上代码还不能直接用于封装,须将其修改成为公用函数(过程)(二)VB封装实例中VBA代码步骤一:在VB编辑窗中,点菜单【文件】-【新建工程】,打开新建工程窗口2、点确定1、点选 ActiveX DLL步骤二:修改工程名,这即生成的DLL库名1、修改工程名为:我的动态库步骤三:修改类名E Microsoft Visual Basic nwresw一母刈k翻A RKIX国E0UJJ

4、_J61用)Option ExplicitK电电图的称)-我的动春库-号我的动塞库便的动亳, 卫百娄相抉3提取数字麋取数Illi屋性-提取数字提取数字 Cl as aHoiule技字母序板分类序提取数字 ADa-taBindingEi 0 一港网口电DataS ourceBe 0 -vtifone依称)返回代码中使用的布识商体、拄思文件旧 编辑视图出 工程的 格式 调试 运例的直询电 图表 工具外援程序(也葡口(迦)轴助(为1、改类名为:提取数字步骤四:在代码窗口输入如下代码。将 ACCESS中的单击事件代码,略做修改成为一个公用函数, 然后复制到VB代码编辑窗口1 (Code) - n Mi

5、crosoft Visual Basic 一方Xa文件旧 弱辑视图出 工程的格式 调试(工运行因直询电 图表工具外芨程序(函函口(迦)耐助(日短皆鼻昔突代码如下将这前的ACCESS代码改成一个公用函数输入:strPutString字符串变量,需分离数字的字符串输出:fFindNumber字符串变量,得到的数字字符Public Function fFindNumber(strPutString As String) As StringDim strOut As String输出字符串变量Dim I从第一个字符向最后一个字符循环,以提取每个字符For I = 1 To Len(strPutStri

6、ng)判断是否为0到9字符,是则赋值输出If Mid(strPutString, I, 1) Like 0-9 Then strOut = strOut & Mid(strPutString, I, 1)End IfNext I 数字输出 fFindNumber = strOut End Function步骤五:编译DLL ,点菜单【文件】-【生成我的动态库.dll , VBA代码封装DLL就完成了。三、在mdb中调用自定义DLL动态链接库(一)新建数据库及窗体新【快速提取数字(DLL)实例.mdb】数据库,新建一个窗体【frmMain ,在窗体添文本框【text。 按钮CmdFindNurm

7、 ,Caption属性:提取数字(见下图)(二)引用【我的动态库.dll库按【Alt+F11】打开VBE窗口,点菜单【工具】-【引用】,打开引用对话框,完成对我们自己编译 的DLL的引用。ACCESS9可使用的引用因 :4、点确定VI su.al B asi c Tor Appl i i ons 人 Microsoft Access 11.0 Object Librai Microsoft DkO 3. 6 Otj ect Libr ary Microsoft AetiueX Data Objects 2. 1 OLE Autcm Ati on1、点浏览r2、选择引用的DLL女件名:|我的动态

8、库一 dll文件集型。: 画库7*lb最tlk*. dU) |(三)在【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中代码,因为该代码中并未涉及到ACC

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论