社区
VFP
帖子详情
在VFP中如何在API函数调用中使用数组参数?
of123
2003-08-19 02:36:09
调用一个DLL动态库函数,其中一个参数类型是unsigned char *。
在中文操作系统中如果用字符串调用,会返回乱码。
在VB中,C++中都可以通过 Byte 数组来调用此函数,在VFP中不能显式声明变量类型,应该怎样做?
例如:
bm_read(HANDLE dev_id, UC add, UC bytes, UC * buff )
...全文
135
2
打赏
收藏
在VFP中如何在API函数调用中使用数组参数?
调用一个DLL动态库函数,其中一个参数类型是unsigned char *。 在中文操作系统中如果用字符串调用,会返回乱码。 在VB中,C++中都可以通过 Byte 数组来调用此函数,在VFP中不能显式声明变量类型,应该怎样做? 例如: bm_read(HANDLE dev_id, UC add, UC bytes, UC * buff )
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
kinlzy
2003-08-19
打赏
举报
回复
收藏收藏!!!
mgan
2003-08-19
打赏
举报
回复
VFP中对API的调用格式
编程时,经常会用到WIN32API函数来对VFP的功能进行扩展,例如对注册表进行操作、获取系统信息等,但是由于WIN32API函数遵循的是C++的数据结构,在应用时与VFP的数据格式有所区别,因此在调用时容易产生问题,现将有关调用方式详解如下:
VFP中调用WIN32API的主要函数是:DECLARE - DLL
它是注册外部 Windows 32 位动态链接库 ( .DLL ) 中的一个函数。
语法:
DECLARE [cFunctionType] FunctionName IN LibraryName [AS AliasName] [cParamType1 [@] ParamName1, cParamType2 [@] ParamName2, ...]
参数:
cFunctionType 表明 32 位 Windows .DLL 函数是否有返回值。如果函数有返回值,则包含 cFunctionType ,否则省略 cFunctionType。
cFunctionType 可以是以下值:
cFunctionType 说明
SHORT 16 位整数
INTEGER 32 位整数
SINGLE 32 位浮点数
DOUBLE 64 位浮点数
STRING 字符串
FunctionName 指定在 Visual FoxPro 中要注册的 32 位 Windows .DLL 函数名。注意 FunctionName 区分大小写。32 位 Windows .DLL 函数名可以与 Win32 API 手册中规定的不同。例如,Messagebox 函数应该命名为 MessogeBoxA(对于单字节字符)和 MessageBoxW(对于 UNICODE)。如果 Visual FoxPro 不能定位 FunctionName 指定的 32 位 Windows .DLL 函数,则将字母 A 追加到函数名尾部,Visual FoxPro 用新的函数名重新搜索。
如果指定的32 位 Windows .DLL 函数与一个 Visual FoxPro 函数同名,或者函数名不是合法的 Visual FoxPro 函数名,则将32 位 Windows .DLL 函数名作为 FunctionName,并用 AS 子句给该函数? 个合法的 Visual FoxPro 名,这点在本主题的后面将要说明。
IN LibraryName 指定外部 Windows .DLL 的名称,该动态链接库包含 FunctionName 指定的 Windows 32 位 .DLL 函数。如果为 LibraryName 指定 WIN32API,则 Visual FoxPro 就在 KERNEL32.DLL、GDI32.DLL、USER32.DLL、MPR.DLL 和 ADVAPI32.DLL 中搜索 32 位 Windows .DLL 函数。
AS AliasName 为一个与 Visual FoxPro 函数同名或不合法的 Windows 32 位 .DLL 函数名指定别名。AliasName 不能是 Visual FoxPro 的保留字或已经由 Visual FoxPro 注册的 Windows 32 位 .DLL 函数名。可使用 AliasName 去调用 Windows 32 位 .DLL 函数。AliasName 不区分大小写。
MyFll Microsoft Visual FoxPro设计的扩展库
请在打开后,
使用
FllAddFoxCode()向智能感应库添加所有的函数原型(需要
VFP
7以上),此库存所有函数
使用
VFP
推荐的命名规则,一般可以根据函数名和知能感应的提示
参数
来推测
参数
及返回值。 开发环境可以
使用
FllHelp()...
转 Windows
API
函数在
VFP
中
的运用
VFP
中
常用WIN32
API
函数调用
事例 我们在
VFP
编程时,为了弥补
VFP
本身功能的不足,常常会用到WIN32
API
函数 来对
VFP
的功能行扩展,例如取得系统信息、对注册表进行操作等,但是由于 WIN32
API
函数是C++的...
VFP
中
轻松绑定 Windows 事件
轻松绑定Windows事件 ...
VFP
9扩展了BindEvent()函数的功能,现在,当Windows传递某些特定的消息给
VFP
窗口的时候,BindEvent()可以调用我们自己的代码。这个功能有着很广泛的用途,DougHennig在这里为我们...
VFP
编程技巧
作者:未知 文章来源:黑妖蛇乐园BLOG 点击数:2297 更新时间:2005-12-30 在
VFP
中
如何历遍所有文件夹和文件 在
VFP
中
,能象一些杀毒软件那样,找遍磁盘的所有文件夹和文件吗?答案是肯定的,而且很简单:*利用
VFP
的...
用
VFP
发送带附件的电子邮件
用
VFP
发送带附件的电子邮件Doug Hennig 提供一个可用于从应用程序
中
发送 e-mail 的类. 它组合两个 M
API
ActiveX 控件到一个易于
使用
的类
中
.在今天,许多许多用户希望能在他们的应用程序
中
发送 e-mail. ...
VFP
2,722
社区成员
29,107
社区内容
发帖
与我相关
我的任务
VFP
VFP,是Microsoft公司推出的数据库开发软件,用它来开发数据库,既简单又方便。
复制链接
扫一扫
分享
社区描述
VFP,是Microsoft公司推出的数据库开发软件,用它来开发数据库,既简单又方便。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章