VB编程技术:DLL编写完全指南

需积分: 50 2 下载量 126 浏览量 更新于2024-08-02 收藏 204KB PDF 举报
"VB DLL编写教程,讲解如何使用VB创建DLL,以及DLL的优势和简单实现方法。" DLL(Dynamic Link Library)是一种在Windows操作系统中广泛使用的共享库,它包含可由多个程序同时调用的函数和资源。这篇教程针对的是使用Visual Basic (VB) 编写DLL的实践经验,适合那些希望学习DLL技术的开发者。 首先,DLL的主要优点包括: 1. 内存效率:DLL可以减少内存占用,因为其代码在内存中只加载一次,多个进程可以共享同一块内存区域,而不是每个进程都加载副本。这在处理大型或频繁使用的代码模块时尤其有益。 2. 易于升级:DLL允许软件系统无需重新编译即可进行部分升级。只需替换修改过的DLL文件,即可实现功能的更新,这对于大型软件项目来说是一种高效的维护策略。 3. 语言无关性:DLL不仅限于一种编程语言,例如,用C编写的DLL可以在VB等其他语言的程序中调用。不过,由于DLL在跨语言交互方面存在局限,后来诞生了COM(Component Object Model)技术,以提供更好的接口和互操作性。 教程中强调,编写DLL时应关闭集成开发环境(IDE),如Visual C++或C++ Builder,转而使用简单的文本编辑器,如记事本。这样做的目的是让开发者更深入地理解DLL的本质,而不依赖IDE的自动化工具。作者推荐使用VC自带的cl编译器和link链接器来手动编译和链接DLL项目,这两个工具通常位于VC安装目录的bin子目录下。确保将编译器和链接器的路径添加到系统的PATH环境变量中,以便于命令行操作。 编写最简单的DLL,你需要定义导出函数,这些函数将被其他程序调用。在VB中,可以通过` Declare Function `语句来调用DLL中的函数。在DLL工程中,设置函数的导出属性至关重要,这通常通过`__declspec(dllexport)`关键字来实现,而在使用DLL的客户端程序中,对应的函数导入则使用`__declspec(dllimport)`。 在DLL源代码完成后,使用编译器生成对象文件,然后使用链接器将其转换为DLL库。最后,为了能在其他程序中使用这个DLL,需要正确地声明和加载DLL,以及调用其导出的函数。 总结来说,这篇教程旨在帮助开发者理解DLL的基本概念,掌握VB编写DLL的方法,并了解如何在实际项目中利用DLL的优点。提供的源代码打包下载链接(http://www.blogjava.net/Files/wxb_nudt/DLL_SRC.rar)可以让读者通过实践进一步加深理解。对于想要提升编程技能,特别是对DLL和跨语言调用感兴趣的开发者来说,这是一个非常实用的资源。
2019-07-09 上传
吸取前辈的经验,自己写了个VB6.0 DLL文件的编译链接插件,按照以下方法,可以在VB 6.0中直接编译生成带外部输出的DLL文件。   1. 把MakeDLL.dll和MakeDLL.exe两个文件复制入VB所在目录,例如   "C:\Program Files\Microsoft Visual Studio\VB98"   2. 把Module1DLL.bas和Standard DLL.vbp两个文件复制入VB所在目录下的   Template目录下的Projects目录,例如   "C:\Program Files\Microsoft Visual Studio\VB98\Template\Projects"   3. 启动VB 6.0,随便选择建立一种什么类型的程序,然后主菜单选择"外接程序"   再选择"外接程序管理器",你应该可以看到在列表中有"Create DLLs in VB 6.0,然后选择它,并在窗口右下方的"加载行为"中把"在启动中加载"和"加载/卸载"都钩选,点确定,再次关闭VB 6.0   4. 再次启动VB,建立一个ActiveX DLL程序,这个时候点主菜单"文件",可以看到"生成工程1.DLL(K)"和"选择DLL出口函数"菜单项目。   好了,大功告成,现在你的VB 6.0已经可以直接编译链接标准的DLL文件了,造作方法,如下:   建立ActiveX dll程序,添加一个模块(DLL的函数只能在模块中才有效),在模块中编写你的DLL function过程函数,编写完毕,点保存,然后点"文件"菜单下的”选择DLL出口函数",在弹出窗口中选择需要申明为可以外部调用的   function,然后确定,最后点"文件"->"生成xxx.dll(K)",编译生成DLL。   需要注意的地方如下:   1. 程序代码必须在模块中编写   2. 需要申明为外部调用的函数必须为Public   3. DLL代码中必须包含一个function DLLmain函数和一个sub Main,不过function DLLmain会被执行,而sub main只是摆设,其中的代码不会运行,但是必须有这个东西(◎_◎)。   4. DLL代码编写没有什么特殊的要求,可以做一切可以在VB中用的东西,比如调用API啊,编写嵌入代码啊(关键)……