VB封装DLL实例讲解(三)

VB封装DLL实例讲解(三)

ID:42580377

大小:145.50 KB

页数:6页

时间:2019-09-18

VB封装DLL实例讲解(三)_第1页
VB封装DLL实例讲解(三)_第2页
VB封装DLL实例讲解(三)_第3页
VB封装DLL实例讲解(三)_第4页
VB封装DLL实例讲解(三)_第5页
资源描述:

《VB封装DLL实例讲解(三)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、VB封装DLL实例讲解(三)一、手动注册及引用(一)手动注册及引用方法(参看实例:手动引用.mdb)进入VBA编辑窗口,点菜单【工具】—【引用】,打开【引用】对话框,点【浏览】按钮,打开【添加引用】对话框,点选要引用的DLL(测试实例为:ClsFindString.dll),点【打开】—点【确定】,我们完成动态链接库的手动注册及引用。1点浏览按钮2点选DLL3点打开按钮4点确定按钮(二)手动注册及引用方法不足及问题手动注册引用优点是不言而喻的,方便简捷,易于操作。但在实际运用中,当我们在其他电脑上发布应用程序,或运行我们测试好的应用程序时,却会出现错误提示,程序无法正

2、常运行。错误(一):找不到工程或库(见下图)错误的主要原因:DLL在当前运行的电脑系统中没有注册信息,而且引用不正确。错误(二):引用的动态链接库(DLL)丢失(见下图)进入到VBA编辑窗口,点菜单【工具】—【引用】,打开【引用】对话框,我们会看到之前引用的DLL动态链接库丢失。错误的主要原因:系统无法找到原路径引用DLL。错误(三):自动化错误(见下图)错误的主要原因:我们在发布应用程序的电脑或系统中,虽然重新完成DLL手动注册和引用,但如果DLL路径再次改变,运行程序时就会出现“自动化错误”提示。错误(四):ActiveX部件不能创建对象(见下图)错误的主要原因:

3、应用程序已正常引用DLL动态链接库,但其册注信息丢失或者没有正常注册,就会出现以下问题。(三)解决上述错误方法1、解决错误方法,当然是重新进行DLL的手动注册及引用,具体步骤参下图。但这只是治标不治本的办法,不利于对外发布我们的应用程序,最好的办法还是通过VBA自动完成DLL的注册及引用。1去除丢失DLL钩选5点确定按钮4点打开按钮3点选DLL2点浏览按钮二、自动注册及引用DLL方法在探讨如何实现DLL自动注册及引用之前,我们必须清楚一点,那就是DLL的注册与引用并不是同一事件或行为的两种不同表述,而是两种不同的动作。²DLL注册是指将DLL的相关信息,如:DLL唯一

4、识标号(GUID),版本号(Version)及路径(Path)信息写入注册表中,以供系统对DLL进行识别调用。我们通过VB编译生成DLL时,VB一般会自动完成对该DLL的注册,但如果要在其它电脑上运行程序时,我们就必须重新对该DLL进行注册。²DLL引用是指将DLL类库对象集成到代码编辑环境中,以便编程时调用类库中的对象、属性及方法。我们通过手动方式完成DLL的引用时,系统会自动完成对该DLL的注册,所以我们无需另行对DLL进行注册,但如果我们在其它电脑上运行程序时,还会出现我们在之前章节中所述的错误。(一)DLL自动注册方法我们可以通过Regsvr32.exe来进行

5、DLL注册或反注册,具体的语法及参数:语法:Regsvr32[/u][/n][/i[:cmdline]]dllname说明:其中dllname为DLL文件名,建议在发布时将DLL复制到system文件夹下。参数:参数说明/u反注册/s指定regsvr32安静运行,且不显示任何消息框。/n指定不调用DllRegisterServer。此选项必须与/i共同使用。/i:cmdline调用DllInstall将它传递到可选的[cmdline]。在与/u共同使用时,它调用dll卸载。dllname指定要注册的dll文件名。1.1示例通过Shell运行Regsvr32程序完成DL

6、L注册 Shell"Regsvr32/S"&Chr(34)&CurrentProject.Path&"ClsFindString.dll"&Chr(34)Shell函数用以运行Regsver32程序Regsver32注册程序/S注册程序参数,书写时记得参数前后必须留空Chr(34)Chr函数,获指定代码字符,Chr(34)为引号CurrentProject.PathDLL当前路径ClsFindString.dll演示实例DLL名1.2示例通过Shell运行Regsvr32程序反注册 Shell"Regsvr32/U/S"&Chr(34)&CurrentProject

7、.Path&"ClsFindString.dll"&Chr(34)我们可以将注册语句放在窗体的加载事件,自动完成DLL的注册,具体可以参看实例。但如果我们有多个DLL需要批量注册时,可以考虑通过软件打包发布工具来完成DLL的注册工作;也可以事先编写BAT文件,让打包发布时将该BAT文件一并打包发布,安装时运行该BAT文件,来完成N个DLL的批量注册,在些就不多着笔墨,大家可以参看实例包中的BAT文件实例。(二)DLL自动引用方法2.1通过References对象的AddFromFile方法实现自动引用DimrefAsReference'申明引用类对

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。