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