PB动态连接库与外部函数的调用

来源:互联网 发布:淘宝鹊桥是什么 编辑:程序博客网 时间:2024/06/06 00:12

外部函数:是用其他语言编写的、存储在动态链接库中的函数。

1 说明外部函数

说明外部函数的步骤:

1)              首先打开要说明外部函数的对象;

2)              script窗口中,从第一个下拉列表框选择declare,从第二个下拉列表框选择global external functionslocal external functions

3)              script窗口中输入说明外部函数的语句;

4)              保存对象;

说明外部函数的语法:

{ access} FUNCTION returndatatype name ({{ref} datatype1 arg1,…,{ref} datatypen argn } ) library “libname”

alias for “extname”

说明外部过程的语法:

{ access} SUBROUTINE name ({{ref} datatype1 arg1,…,{ref} datatypen argn } ) library “libname”

alias for “extname”

2 外部函数调用举例

1、得到用户名信息:

1.1按钮的Clicked

       Long ll_RTN

       String ls_UserName

       Long ll_BufferLen

       ll_BufferLen = MAX_LENGTH

       ls_UserName = Space(MAX_LENGTH)     

       //获取当前系统用户名称

       ll_RTN = GetUserName (ls_UserName, ll_BufferLen)

       If ll_RTN <> 0 Then

              MessageBox("提示信息", "当前系统用户名称为:" + Trim(ls_UserName))

       Else

              MessageBox("提示信息", "函数调用失败!")

       End If

1.2实例变量:CONSTANT Long MAX_LENGTH = 256

1.3外部函数:

FUNCTION Long GetUserName ( REF String lpBuffer, REF Long nSize) LIBRARY "advapi32.dll" ALIAS FOR "GetUserNameA"

2、得到计算机名称:

2.1按钮的Clicked

       //获取计算机名称

       Long ll_RTN

       String ls_ComputerName

       Long ll_BufferLen

       ll_BufferLen = MAX_COMPUTERNAME_LENGTH + 225

       ls_ComputerName = Space(MAX_COMPUTERNAME_LENGTH + 225)

       ll_RTN = GetComputerName (ls_ComputerName, ll_BufferLen)

       If ll_RTN <> 0 Then

              MessageBox("提示信息", "计算机名称为:" + Trim(ls_ComputerName))

       Else

              MessageBox("提示信息", "函数调用失败!")

       End If

2.2实例变量:CONSTANT Long MAX_COMPUTERNAME_LENGTH = 31

2.3外部函数:

FUNCTION Long GetComputerName ( REF String lpBuffer, REF Long nSize) LIBRARY "kernel32" ALIAS FOR "GetComputerNameA"

原创粉丝点击