示例请参阅
注册外部Windows32位动态链接库(.DLL)中的一个函数。
语法
DECLARE[cFunctionType]FunctionNameINLibraryName[ASAli来自asName]
[cParamType1[@]ParamName1,
cParamType2[@]ParamName2,木风亮...]
参数
cFunctionType
表明所正领核留何冷议资护32位Windows.DLL函数是否有返回值。
如果函数有返回卫品球沿民题密行章树烈值,则包含cFunctionType,否则省略cFunctionType。
cFunctionType可以是以下值:
cFunctionType
说明
SHORT16位整数
I亚杂例包殖费以甲NTEGER32位整数
SINGLE32位浮点数
DOUBLE64位浮点数
LONG32位长整数
STRING交字符串
FunctionName
指定在VisualFoxPro中要注册的32位Windows.DLL函数名。
注意Fu端收林百客清粒动多密常nctionName区分大小写。
32位Windows.DLL函数名可以与Win32API手册中规尼放率尼督定的不同。
例如,Messagebox函数应该益国伟兴凯命名为MessogeBoxA(对于单字节字符)和Message念也领视背牛黑前时比曲BoxW(对于UNICODE)。
如果VisualFoxPro不能定位FunctionName指定的32位Windows.DLL函数,则将字母A追加到函数名尾部,VisualFoxPro用新的函数名重新搜索。
如果指定的32位Windows.DLL函数与一个VisualFoxPro函数同名,或者函数名不是合法的VisualFoxPro函数名,则将32位Windows.DLL函数名作为Func吗营友是苗振tionName,并用AS子句给该函数取一个合法的VisualFoxPro名,这点在本主题的后面将要说明。
INLibraryName
指定外部Windows红孔浓问.DLL的名称,该动态链接库包含FunctionName指定的Win育剧与dows32位.DLL函数。
如果为LibraryName指定WIN32API,则VisualFoxPro就在KERNEL32.DLL、GDI32.DLL、USER32.DLL、MPR.DLL和ADVAPI32.DLL中搜索32位W负你三沉例百众步静indows.DLL函数。
ASAliasName
为一个与VisualFoxPro函数同名或不合法的Windows32位.DLL函数名指定首语别名。
AliasName不能是VisualFoxPro的保留字或已经由VisualFoxPro注册的W进刑河护界跟再食名indows32位增友策好风州坚问手花学.DLL函数名。
可使用AliasName去调用Windows32位.DLL函数。
AliasName不区分大小写。
cParameterTy市胞读起备光值杆杂优到pe1[@]ParamName1,cParameterType2[@]ParamName2,...
指定传递给Windows32位.DLL函数的参数类型。
Windows32位.DLL函数由cParameterType指定需要的参数类型。
cParameterType可以为下列某一类型:
cParameterType说明
INTEGER32位整数
SINGLE32位浮点数
DOUBLE64位浮点数
LONG32位长整数
STRING字符串
如果参数不是Windows32位.DLL函数所需要类型,VisualFoxPro产生一个错误。
Null值可以作为字符串传递。
调用函数时,若按引用传递一个参数,必须在这条命令的参数cParameterType后面、在调用函数相应变量前面包含@。
如果在DECLARE中或在调用函数中没有包含@,参数就按值传递。
有关需要按引用传递参数的.DLL函数的详细内容,请参阅《MicrosoftWin32编程指南》。
附注
参数名ParamName1,ParamName2等是可选的,VisualFoxPro或Windows32位.DLL函数并不使用它们,它们可以作为函数接收的参数名和参数类型的提示。
说明
在从VisualFoxPro调用一个32位Windows.DLL函数前,必须发出带有函数名、包含该函数的Windows.DLL名以及函数将要接收的参数类型的DECLARE命令。
为了提供向后兼容性,VisualFoxPro仍支持FOXTOOLS.FLL(包含在FoxPro早期版本中),并允许调用16位.DLL函数的VisualFoxProAPI库。
在VisualFoxPro中,调用.DLL函数时使用DECLARE是可取的方法。
有关Windows32位.DLL函数的详细内容,请参阅《MicrosoftWin32编程指南》中的文档。
执行DISPLAYSTATUS或LISTSTATUS可以显示注册函数的名称,执行CLEARALL或CLEARDLLS可从内存中删除注册函数。
*-----------------------------------------------------------------------------------------------------
declare–dll命令示例
这个示例为当前活动的windows应用程序显示句柄。
当出现“等待”窗口时,可在5秒的时间内按下alt+tab键切换到不同的windows
应用程序,否则以活动的应用程序离开visualfoxpro。
clear
declareintegergetactivewindow
inwin32api
waitwindow"youcanswitchtoanotherapplicationnow"timeout
5
?getactivewindow() 内容来自网友回答
php递归函数是怎么个概念? 调用自身进行运算重复运算? 求一个完整的解释概念,谢谢
函数概念