在动态数据交换 (DDE) 会话中,向一个服务器应用程序请求数据。
语法
DDERequest(nChannelNumber, cItemName [, cDataFormat [, cUDFName]])
参数
nChannelNumber
指定服务器应用程序的通道号。
cItemName
指定接收数据的项名,项名根据应用程序不同而不同,因此,指定的项名必须能被应用程序理解。例如,Microsoft Excel 支持 R1C1 为有效项名,它指明工作表的第一个单元。
cDataFormat
指定发送数据的格式,默认格式是 CF_TEXT。在这种格式中,字段用制表符键分隔,记录用回车和换行符分隔。
cUDFName
允许异步数据传送。如果省略 cUDFName,Visual FoxPro 为从服务器获取数据而等待一段时间,时间长短由 DDESetOption( ) 指定。如果用 cUDFName 指定用户自定义函数,Visual FoxPro 程序在请求之后马上执行下一行代码。
当从服务器应用程序得到数据时,就执行 cUDFName 指定的用户自定义函数。用户自定义程序接受六个参数,参数按下列顺序传递:
参数 | 内容 |
Channel Number | 服务器应用程序的通道号 |
Action | XACTCOMPLETE(成功的事务) XACTFAIL(失败的事务) |
Item | 项名。例如,R1C1 表示 Microsoft Excel 工作表的单元 |
Data | 新数据 (REQUEST) 或已传送的数据(POKE 或 EXECUTED ) |
Format | 数据格式。例如,CF_TEXT |
Transaction Number | DDEPoke( ) 返回的事务编号 |
使用 DDEAbortTrans( ) 取消未完成的事务。如果事务失败,可用 DDELastError( ) 确定失败的原因。
当包含 cUDFName 时,事务成功则 DDEPoke( ) 返回一个大于等于 0 的事务号,出错则返回 -1。
返回值类型
字符型
说明
在用 DDERequest( ) 请求数据之前,必须用 DDEInitiate( ) 建立通向服务器应用程序的通道。
如果数据请求成功,DDERequest( ) 以字符串的形式返回数据;如果请求失败,DDERequest( ) 返回一个空字符串,且 DDELastError( ) 返回一个非零值。如果包含异步用户自定义函数 cUDFName,则在事务成功时,
DDERequest( ) 返回一个事务号;发生错误则返回 1 。