VB编程基础教程18–在应用程序中使用DLL过程 | 异次元软件世界

来源:百度文库 编辑:神马文学网 时间:2024/04/28 02:00:22

VB编程基础教程18–在应用程序中使用DLL过程

[ 程序乐园 ]

由于 dll 过程存在于 visual basic 应用程序之外的文件中,在使用时必须指定过程的位置和调用参数。可以用declare 语句提供这类信息。在声明了 dll 过程之后,可以把它当做 visual basic 自己的过程使用。
重点   如果在visual basic 中直接调用 dll,那么 visual basic环境下固有的安全机制将受到不利影响。这意味着在测试和调试程序时可能会遇到更多的系统故障。为了减少这种危险,在声明 dll过程、传递参数和指定类型的时候务必要小心。无论在什么情况下,一定要经常保存已经完成的工作。dll 可以提供不同凡响的功能,但是要用好它也不容易。
下例将演示如何调用 windows api 中的过程。调用函数 setwindowtext来改变一个窗体的标题栏。当然,在实际应用中,通常总是利用 visual basic 的 caption属性来改变标题栏。该示例的目的在于说明如何声明并调用过程。
声明 dll 过程
首先,在模块的声明部分对过程进行声明:
privatedeclare function setwindowtext lib “user32″ _
alias “setwindowtexta”(byval hwnd as long, _
byval lpstring as string) as long
过程的精确语法定义可以用 api viewer 应用程序找到,在 win32api.txt 文件中也可以找到它。如果将 declare 放在 form 或者class 模块内,那么必须在它的前面加上 private 关键字。同一个 dll 过程在一个工程中只需声明一次;然后可以任意调用。
详细信息 关于如何声明语句,请参阅本章后面的“声明 dll 过程”主题。
调用 dll 过程
在声明了函数之后,调用它的方式与标准的visual basic 函数相同。在下例中,form load 事件调用了上面声明的过程。
private subform_load()
   setwindowtext form1.hwnd, “welcome to vb”
end sub
在运行这段代码时,函数首先使用 hwnd 属性确定要修改标题栏的窗口(form1.hwnd),然后将标题栏修改为“welcome to vb”。
需要牢记的是:visual basic 不能验证传递到 dll 过程的值是否正确。如果传递了错误的值,那么过程将出错,并可能因此导致 visualbasic 应用程序停止运行。这样就不得不重新加载和启动应用程序。在测试 dll 过程时千万要小心,一定要经常地保存自己的工作。
注意   极少数 api 调用能够识别缺省的 variant 数据类型。最好声明具体的变量类型并使用 option explicit,这样,api的可靠性要高得多。

VB编程基础教程18–在应用程序中使用DLL过程 | 异次元软件世界 VB编程基础教程12–使用过程 | 异次元软件世界 VB编程基础教程11–过程 | 异次元软件世界 VB编程基础教程15–使用对象 | 异次元软件世界 VB编程基础教程13–向过程传递参数 | 异次元软件世界 VB编程基础教程1–编码基础 | 异次元软件世界 VB编程基础教程5–静态变量 | 异次元软件世界 VB编程基础教程6–常数 | 异次元软件世界 VB编程基础教程9–数组 | 异次元软件世界 VB编程基础教程10–动态数组 | 异次元软件世界 VB编程基础教程14–控制结构 | 异次元软件世界 VB编程基础教程17–创建对象 | 异次元软件世界 VB编程基础教程21–优化 | 异次元软件世界 VB编程基础教程2–变量 | 异次元软件世界 VB编程基础教程9–数组 | 异次元软件世界999 VB编程基础教程9–数组 | 异次元软件世界 VB编程基础教程17–创建对象 | 异次元软件世界 VB编程基础教程3–理解变量的范围 | 异次元软件世界 VB编程基础教程4–高级变量主题 | 异次元软件世界 VB编程基础教程8–高级变量主题 | 异次元软件世界 VB编程基础教程16–对象之间的关系 | 异次元软件世界 VB编程基础教程19–界面设计的基础 | 异次元软件世界 VB编程基础教程20–坐标系统概述 | 异次元软件世界 VB编程基础教程8–高级变量主题 | 异次元软件世界