D D E 函 数
在 Visual FoxPro 和其他 M icrosoft Windows 应用程序之间交换数据
说 明
Visual FoxPro 可以作为服务程序向 M icrosoft Windows 应用程序发送数据 也可作为客户从其他的 M icrosoft Windows 应用程序接收数据
在支持 DDE 动态数据交换 的应用程序中使用以下命名约定
Name 说 明
Service Name Topic Name
Item Name
当一客户要访问服务程序时 服务程序响应的服务名称 一个服务程序能支持很多服务名
指定数据的主题名 对于基于文件的应用程序 主题名通常为文件名 而在其他程序中 主题名会根据程序的不同而不同 要访问服务程序 客户除了指定服务程序服务名外 还要指定主题名
指定服务程序可以传送给客户的数据单元名称
要从其他应用程序请求数据 可创建一个 Visual FoxPro 程序 将 Visual FoxPro 作为一客户 下面简述一个过程 按照这个过程可以创建一个向其他应用程序请求数据的
Visual FoxPro 程序
-
用
DDEInitiate 函 数 建 立 一 个 服 务 程 序 的 链 接
-
如 果 成 功 地 建 立 了 链 接 则 可 以 使 用 DDERequest 函 数 向 服 务 程 序 请 求数 据 DDERequest 函 数 能 重 复 发 送 以 请 求 更 多 的 数 据
-
接 收 到 数 据 后 使 用 DDETerminate 函 数终 止 与 服 务 程 序 的 链 接 释 放系 统 资 源
以上函数建立了一个冷链接 当客户对应用程序间的所有通讯初始化时 存在冷链接 有关其他类型链接的讨论 请参阅 DDEAdvise ( )
下面简述一个过程 此过程建立一个作为服务程序的 Visual FoxPro 应用程序
-
利
用 DDEService 函 数 创 建 一 个 服 务 并 指 定 服 务 类 型
-
利 用 DDESetTopic 函 数 创 建 服 务 主 题 并 为 该 主 题 指 定 一 个 过 程 当 客户 请 求 中 指 定 了 该 主 题 时 执 行 这 个 过 程
-
创
建 DDESetTopic 函 数 中 指 定 的 过 程 以 接 收 传 给 该 过 程 的 参 数
-
在
过 程 中 处 理 请 求 如 果 合 适 向 客 户 返 回 这 些 数 据
注 意 这些 DDE 函数在以下几个方面与以前的 Visual FoxPro 函数有不同约定
-
这
些 函 数 名 的 前 4 个 字 符 不 能 唯 一 确 定 该 函 数
-
函
数 名 必 须 超 过 10 个 字 符 且 不 能 缩 写
DDE 函 数 说 明
DDEAbortTrans( ) 结束一个异步 DDE 事务
DDEAdvise( ) 创建 DDE 中的报告链接或自动链接
续 表DDEEnabled( ) 启用或禁止 DDE 处理 或者返回 DDE 处理状态DDEExecute( ) 使用 DDE 向另一个应用程序发送一条命令 DDEInitiate( ) 建立 Visual FoxPro 和另一个 M icrosoft Windows 应用程
序之间的 DDE 通道
DDELastError( ) 返回最后执行的 DDE 函数错误编号
DDEPoke( ) DDE 会话过程中 在客户和服务程序之间发送数据DDERequest( ) 在动态 DDE 会话中 向一个服务程序请求数据DDESetOption( ) 更改或返回 DDE 设置
DDESetService( ) 创建 释放或修改 Visual FoxPro 中的服务名和设置DDESetTopic( ) DDE 会话过程中 在服务名中创建或释放一个主题名DDETerminate( ) 关闭一个用 DDEInitiate 函数建立的通道
请 参 阅
DDEAbortTran s( ), DDEAdvise( ), DDEEnabled( ), DDEExecute( ), DDEInitiate( ), DDELastError( ), DDEPoke( ), DDERequest( ), DDESetOption( ), DDESetService( ), DDESetTopic( ), DDETerminate( )