使用动态数据交换 (DDE) 向另一个应用程序发送一条命令。
语法
DDEExecute(nChannelNumber, c命令 [, cUDFName])
返回值类型
逻辑型
参数
nChannelNumber
指定通道号。
cCommand
指定要发往另一个应用程序的命令。命令格式由接收命令的程序决定,查阅应用程序的文档可以了解正确语法。
cUDFName
允许异步命令执行请求。如果省略 cUDFName,客户应用程序等待的时间由 DDESetOption( ) 函数指定。如果用 cUDFName 指定一个用户自定义函数,则客户程序在发出命令执行请求后立即执行下一个命令。
当服务器应用程序执行命令后,就执行 cUDFName 指定的用户自定义函数,用户自定义函数接受六个参数,它们按下列顺序给出:
参数 | 内容 |
Channel Number | 服务器应用程序的通道号 |
Action | XACTCOMPLETE(执行成功时) XACTFAIL(命令执行失败时) |
Item | 项名,例如 R1C1 表示 Microsoft Excel 工作表单元 |
Data | 新数据 (REQUEST)、传递的数据(POKE 或 EXECUTED) |
Format | 数据格式,例如 CF_TEXT |
Transaction Number | ddeexecute( ) 函数返回的事务编号 |
使用 DDEAbortTrans( ) 函数可以取消一个未完成的事务。如果事务失败,可用 DDELastError( ) 函数确定失败的原因。
当包含 cUDFName 时,ddeexecute( ) 函数并不返回一个逻辑值,而返回一个事务号。如果发生错误则返回 -1。
说明
ddeexecute( ) 函数发出的命令必须能被应用程序解释。在执行命令前,用 DDEInitiate( ) 函数建立一个通向服务器应用程序的通道。
例如,Mircrosoft Excel 有一个扩展的宏命令集合,包括允许 Microsoft Excel 向 Visual FoxPro 请求数据的 DDE 命令。如果建立了通向 Microsoft Excel 的通道,就可以用 ddeexecute( ) 函数从 Visual FoxPro 向 Microsoft Excel 发送宏命令。
如果接收命令的应用程序成功地执行命令,则 DDEExecute( ) 返回“真”(.T.);如果接收命令的应用程序没有成功地执行命令,或者包含的通道号无效,则 DDEExecute( ) 返回“假”(.F.)。如果包含了可选的异步用户自定义函数 cUDFName,则返回一个事务号;若发生错误,则 DDEExecute( ) 返回 -1。