dderequest( ) 函数

示例 请参阅

在动态数据交换 (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 。