DDEInitiate 函 数 - 图1DDEInitiate 函 数 - 图2DDEInitiate 函 数

在 Visual FoxPro 和另一个 M icrosoft Windows 应用程序之间建立一个动态数据交换

DDEInitiate 函 数 - 图3(DDE) 通道

语 法

DDEInitiate( cServiceNam e, cTopicName )

返 值 类 型数值型 参 数 描 述

cServiceName

DDEInitiate 函 数 - 图4DDEInitiate 函 数 - 图5DDEInitiate 函 数 - 图6指 定 服 务 程 序 的 名 称 通 常 情 况 下 是 一 个 不 带 扩 展 名 的 可 执 行 文 件 名

DDEInitiate 函 数 - 图7V isual FoxPro 默 认 的 服 务 名 是 V isual FoxPro 如 果 建 立 通 向 M icrosoft Excel

DDEInitiate 函 数 - 图8DDEInitiate 函 数 - 图9的 通 道 cServiceName 为 Excel

cTopicName

DDEInitiate 函 数 - 图10DDEInitiate 函 数 - 图11DDEInitiate 函 数 - 图12DDEInitiate 函 数 - 图13DDEInitiate 函 数 - 图14DDEInitiate 函 数 - 图15DDEInitiate 函 数 - 图16指 定 主 题 名 主 题 根 据 应 用 程 序 的 不 同 而 不 同 因 此 指 定 的 主 题 必 须 能 让 应用 程 序 理 解 例 如 绝 大 多 数 D D E 服 务 程 序 提 供 一 个 System 主 题 有 关 应用 程 序 支 持 的 服 务 名 和 主 题 名 内 容 请 参 阅 应 用 程 序 文 档

说 明

DDEInitiate 函 数 - 图17DDEInitiate 函 数 - 图18DDEInitiate 函 数 - 图19DDEInitiate 函 数 - 图20DDEInitiate 函 数 - 图21DDEInitiate 函 数 - 图22DDEInitiate 在 Visual FoxPro 和 DDE 服务程序间建立一个 DDE 通道 通道建立后 Visual FoxPro 就可以在后续函数中通过指定通道从服务程序中请求数据 Visual FoxPro 也可以作为一个客户通过通道从服务程序中请求数据

DDEInitiate 函 数 - 图23DDEInitiate 函 数 - 图24DDEInitiate 函 数 - 图25DDEInitiate 函 数 - 图26DDEInitiate 函 数 - 图27DDEInitiate 函 数 - 图28如果成功建立通道 则 DDElnitiate 返回通道号 通道号是非负值 所能建立的通道数量仅受系统资源的限制

DDEInitiate 函 数 - 图29DDEInitiate 函 数 - 图30DDEInitiate 函 数 - 图31DDEInitiate 函 数 - 图32DDEInitiate 函 数 - 图33如果不能建立通道 则 DDEInitiate 返回 – 1 如果没有打开服务程序 则 Visual

DDEInitiate 函 数 - 图34DDEInitiate 函 数 - 图35DDEInitiate 函 数 - 图36DDEInitiate 函 数 - 图37DDEInitiate 函 数 - 图38DDEInitiate 函 数 - 图39DDEInitiate 函 数 - 图40DDEInitiate 函 数 - 图41DDEInitiate 函 数 - 图42FoxPro 询问是否要打开 选择 是 Visual FoxPro 会试图打开这个应用程序 可以用 DDELastError 确定不能建立通道的原因

DDEInitiate 函 数 - 图43DDEInitiate 函 数 - 图44DDEInitiate 函 数 - 图45DDEInitiate 函 数 - 图46要避免询问是否打开应用程序 可设置 DDESetOption 的 SAFETY 选项 也可以使

DDEInitiate 函 数 - 图47DDEInitiate 函 数 - 图48DDEInitiate 函 数 - 图49DDEInitiate 函 数 - 图50用带 /N 选项的 RUN 命令启动应用程序可以使用 DDETerminate 关闭一个通道示 例

DDEInitiate 函 数 - 图51DDEInitiate 函 数 - 图52下面的示例使用 DDEInitiate 在 Visual FoxPro 和 Microsoft Excel 的工作表 Sheetl

DDEInitiate 函 数 - 图53DDEInitiate 函 数 - 图54DDEInitiate 函 数 - 图55DDEInitiate 函 数 - 图56DDEInitiate 函 数 - 图57DDEInitiate 函 数 - 图58DDEInitiate 函 数 - 图59之间建立 DDE 通道 Excel 是服务名 Sheetl 是主题名 通道号存放在变量

DDEInitiate 函 数 - 图60DDEInitiate 函 数 - 图61mchannum 中 可以供后续 DDE 函数使用

mchannum = DDEInitiate ('Excel', 'Sheet1 ') IF mchannum != -1

* Process 进行客户操作

= DDETerminate(mchannum) && 关闭通道

ENDIF

请 参 阅

DDEAdvise ( ), DDEEnabled( ), DDEExecute( ), DDELastError( ), DDEPoke( ), DDERequest( ), DDESetOption( ), DDETerminate( ), RUN | !