您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > pb_mhanddll在pb中的应用
一、什么是DLL动态链接库(Dynamic-LinkLibrary),简称DLL,可以将对象或函数封装到一个二进制代码文件中,供其它程序使用。它是基于Windows程序设计中程序代码共享的一个常用方法。使用DLL有许多优点:(1)使用DLL的动态连接不是将库代码拷贝,只在程序中记录函数的入口点和接口,在程序执行时才将库代码装入内存,如果有多个程序使用相同的DLL,也只需将DLL在内存中装载一次,节省了内存开销。(2)DLL是基于Windows的程序模块,它不仅包含可执行代码,还可以包含数据,各种资源,扩大了库文件的使用范围。(3)对于一个大型的、不断更新的应用程序,可以将许多重复的功能写成DLL,用主程序调用,这样既减少了开发的工作量,又提高了访问速度。(4)DLL丰富了PowerScript语言的编程能力,可以使用PowerScript函数集之外的函数。(5)DLL独立于编程语言,大多数WINDOWS编程环境都允许主程序调用DLL中的函数。即可以用VC++、VB、PowerBuilder、Delphi、汇编语言等建立DLL,然后在不同语言编制的应用程序中调用它。二、VC++创建DLL动态链接库在某些情况下我们需要借助第三方工具来完成PB难以实现的任务。例如我们希望取得某个文件的最后修改日期,在PB中并未提供相应的函数供我们使用,这时可以使用VC++或DELPHI等系统控制能力强的工具来开发相应的函数并封装到DLL文件中。1、在VC++中建立新工程。选择projects类型为win32dynamic-linklibrary,输入工程名称为mhand。为动态链接库工程选择asimpledllproject类型。VC++的向导自动建立该工程。在mhand.cpp文件中加入一行:#includewindows.h在该文件未加入getfiledatetime函数的代码(win2000和win98系统下源代码有所不同,win2000系统下请见getfiledatetime-2000.c.txt文件,win98下请见getfiledatetime-98.c.txt)。新建一文件mhand.def并把它加入到当前工程中,该文件的内容如下图所示:编译当前工程mhand,如果没有出错则在您指定的工程文件夹的debug文件夹中会生成mhand.dll文件。注意:为了使得PB能够调用该文件,应该将其放入系统文件夹中(win2000下将mhand.dll.2000改名为mhand.dllwin98下将mhand.dll.98改名为mhand.dll)。三、在PB中使用该动态链接库。如下图所示在w_maintain窗口中的“注册”标签卡中加入一单行编辑框和一个按钮,为当前应用程序对象定义一个全局外部函数。注意定义外部函数的语法。函数名称、返回值类型、参数顺序及类型要与DLL中的函数一致。在按钮的clicked事件中加入下列代码:下图是运行该段代码的情况:返回数据空间
本文标题:pb_mhanddll在pb中的应用
链接地址:https://www.777doc.com/doc-2885379 .html