Tivoli 服务台 6.0 开发工具包脚本语言参考

DDE 语句

返回主页


DDEAdvise

说明

在请求主题的关联数据改变时,请求 DDE 服务器通知应用程序。

语法

 FUNCTION DDEAdvise(VAL whdl, whdlPartner: WINDOW,
                    VAL topic:STRING,VAL Flag: INTEGER)
                    : INTEGER;

自变量说明

自变量名称 说明
whdl 应用程序窗口的窗口句柄,该窗口接受来自 DDE 伙伴的响应消息。一般情况下,该窗口是桌面的子窗口,而且是应用程序的主窗口。当 DDE 函数响应 DDE 消息时,该参数就是 $Handle 伪参数。
whdlPartner 会话中伙伴应用程序的窗口句柄。这是 DDE 函数的寻址窗口。通常它是 $DDEWindow 伪参数,该参数是所有 DDE 消息的一部分。
topic DDE 函数在伙伴应用程序中引用的数据项。要进行 DDE 会话的应用程序都必须同意会话主题和给定主题的可用活动。如果主题字符串为空,则假定要使用所有的可用主题。
Flag 指示请求的建议类型的标志。可能的值有:
  • $DDEack - 向伙伴请求应答
  • $DDENoData - 在数据更改时通知(用 DDE 数据消息),但不传送数据。

注释

只要更改了主题的关联数据,DDEAdvise 就请求 DDE 服务器向窗口句柄传送 $MsgDDEData。以这种方式发送的数据消息的状态标志中没有设置 DDEResponse 位。DDEAdvise 消息可以由 DDEUnAdvise 取消。

实例

关于在 TSD 脚本中使用 DDE 命令来同其他应用程序进行通信的实例,请参见安装了 Tivoli 服务台开发工具包的 EXAMPLES/DDE 目录中的 ddetcli.kb 和 ddetsrv.kb 文件。

返回码

返回码 说明
1 成功完成
-2 未知值
-10 在操作系统级调用失败。这可能是由不适当的配置或资源不够引起的。

另见

其他信息,请参见 TSD 脚本消息页。


DDEData

说明

通过 DDE 向发出请求的应用程序发送数据。

语法

 FUNCTION DDEData(VAL whdl, whdlPartner: WINDOW,
 VAL topic,data: STRING,
 VAL Flag: INTEGER): INTEGER;

自变量说明

自变量名称 说明
whdl 应用程序窗口的窗口句柄,该窗口接受来自 DDE 伙伴的响应消息。一般情况下,该窗口是桌面子窗口,而且是应用程序的主窗口。当 DDE 函数响应 DDE 消息时,该参数就是 $Handle 伪参数。
whdlPartner 会话中伙伴应用程序窗口的窗口句柄。这是 DDE 函数的寻址窗口。这是具体的 $DDEWindow 伪参数,它是所有 DDE 消息的组成部分。
topic DDE 函数在伙伴应用程序中寻址的数据项。要进行 DDE 会话的应用程序都必须同意会话主题和给定主题的可用活动。如果主题字符串为空,则假定要使用所有的可用主题。
data 要发送到伙伴应用程序的数据。
Flag 指示请求的建议类型的标志。可能的值有:
  • $DDEack - 向伙伴请求应答
  • $DDENoData - 在数据更改时通知(用 DDE 数据消息),但不传送数据。

注释

DDEData 发送数据来响应 $MsgDDERequest。它还发送应用程序请求的数据。DDEPoke 用于向应用程序发送未被请求的数据。

实例

 TYPES
 DDEREC IS RECORD
 partners: LIST OF DDEPARTNERREC;
 whdlPartner: WINDOW;
   END;
 .
 .
 .
EVENT DDEWindow( REF DDEDataRec: DDEREC ) IS
 ...
ACTIONS
  WHEN $Event IS $MsgCreate THEN
 ...
 ELSWHEN $MsgDDERequest THEN
 WHEN $EventParm(2,STRING) IS 'TOPICS' THEN
 DDEData( $Handle, $DDEWindow, $DDETopic, 'TEST');
 ...
   END;

返回码

返回码 说明
1 成功完成
-2 未知值
-10 在操作系统级调用失败。这可能是由不适当的配置或资源不够引起的。

另见

其他信息,请参见 TSD 脚本消息页。

关于在 TSD 脚本中使用 DDE 命令来同其他应用程序进行通信的附加实例,请参见安装了 Tivoli 服务台开发工具包的 EXAMPLES/DDE 目录中的 ddetcli.kb 和 ddetsrv.kb 文件。


DDEExecute

说明

发送一个命令串来让 DDE 伙伴执行。

语法

 FUNCTION DDEExecute(VAL whdl, whdlPartner: WINDOW,
                     VAL topic, cmdString: STRING)
                     : INTEGER;

自变量说明

自变量名称 说明
whdl 应用程序窗口的窗口句柄,该窗口接受来自 DDE 伙伴的响应消息。一般情况下,该窗口是桌面子窗口,而且是应用程序的主窗口。当 DDE 函数响应 DDE 消息时,该参数就是 $Handle 伪参数。
whdlPartner 会话中伙伴应用程序窗口的窗口句柄。这是 DDE 函数的寻址窗口。这是具体的 $DDEWindow 伪参数,它是所有 DDE 消息的组成部分。
topic DDE 函数在伙伴应用程序中寻址的数据项。要进行 DDE 会话的应用程序都必须同意会话主题和给定主题的可用活动。如果主题字符串为空,则假定要使用所有的可用主题。
cmdString 一个 DDE 伙伴命令串。命令串的内容和格式必须得到要参加 DDE 会话的应用程序的同意。

实例

 VARIABLES
  rc              :INTEGER;
 partner_whdl: WINDOW;
 partner_topic: STRING;
ACTIONS
 .
 . (* Assuming a DDE session has been initiated, topic is
 set. *)
 .
 rc := DDEExecute ( $Handle, partner_whdl, partner_topic,
                    "del *.*" );
 IF (rc <> 1) THEN
 (* DDEExecute failed *)
ELSE
 (* DDEExecute succeeded *)
   END;
 .
 .
 .
   END;

返回码

返回码 说明
1 成功完成。
-2 未知值。
-10 在操作系统级调用失败。这可能是由不适当的配置或资源不够引起的。

另见

其他信息,请参见 TSD 脚本消息页。

关于在 TSD 脚本中使用 DDE 命令来同其他应用程序进行通信的附加实例,请参见安装了 Tivoli 服务台开发工具包的 EXAMPLES/DDE 目录中的 ddetcli.kb 和 ddetsrv.kb 文件。


DDEInitiate

说明

启动与一个或多个伙伴的 DDE 会话。

语法

 FUNCTION DDEInitiate(VAL whdl: WINDOW, VAL topic,
                      appName: STRING): INTEGER;

自变量说明

自变量名称 说明
whdl 应用程序窗口的窗口句柄,该窗口接受来自 DDE 伙伴的响应消息。一般情况下,该窗口是桌面子窗口,而且是应用程序的主窗口。当 DDE 函数响应 DDE 消息时,该参数就是 $Handle 伪参数。
topic DDE 函数在伙伴应用程序中寻址的数据项。要进行 DDE 会话的应用程序都必须同意会话主题和给定主题的可用活动。如果主题字符串为空,则假定要使用所有的可用主题。
appName 该应用程序将要与之进行会话的应用程序的名称。如果 appName 是空字符串或是 $Unknown,则期望支持请求主题的所有应用程序都响应。

注释

DDEInitiate 向桌面的所有子窗口广播启动消息。启动消息是平台特定的。

如果指定了 appName,则具有匹配的 appName 的任何应用程序都应响应。匹配的应用程序应当将 $MsgDDEInitAcknowledge 发送给启动窗口。如果 appName 是空字符串,则任何应用程序都能响应。

如果主题有一个长度为零的字符串,则所有匹配的应用程序都应报告所有可用主题。例如,使用空的 appName 和空的主题字符串来调用 DDEInitiate 时,将向自身是 DDE 服务器的应用程序请求所有主题。

实例

 VARIABLES
  rc              :INTEGER;
 partner_whdl: WINDOW;
 partner_topic: STRING;
 partner_app: STRING;
ACTIONS

(* Assuming partner variables have been set. *)


 rc := DDEInitiate ( $Handle, partner_topic, partner_app );
 IF (rc <> 1) THEN
 (* DDEInitiate failed *)
 ELSE
 (* DDEInitiate succeeded *)
 END;
END;

返回码

返回码 说明
1 成功完成。
-2 未知值。
-10 对操作系统服务的请求(要求完成函数)失败。可能的原因是作为语句自变量的值无效或系统资源有限。

另见

其他信息,请参见 TSD 脚本消息页。

关于在 TSD 脚本中使用 DDE 命令来同其他应用程序进行通信的附加实例,请参见安装了 Tivoli 服务台开发工具包的 EXAMPLES/DDE 目录中的 ddetcli.kb 和 ddetsrv.kb 文件。

有关 DDE 接口的其他信息,请参见供应商提供的文档。


DDEPoke

说明

向 DDE 伙伴发送未请求的数据。

语法

 FUNCTION DDEPoke(VAL whdl, whdlPartner: WINDOW, VAL topic,
                  data: STRING): INTEGER;

自变量说明

自变量名称 说明
whdl 应用程序窗口的窗口句柄,该窗口接受来自 DDE 伙伴的响应消息。一般情况下,该窗口是桌面子窗口,而且是应用程序的主窗口。当 DDE 函数响应 DDE 消息时,该参数就是 $Handle 伪参数。
whdlPartner 会话中伙伴应用程序窗口的窗口句柄。这是 DDE 函数的寻址窗口。这是具体的 $DDEWindow 伪参数,它是所有 DDE 消息的组成部分。
topic DDE 函数在伙伴应用程序中寻址的数据项。要进行 DDE 会话的应用程序都必须同意会话主题和给定主题的可用活动。如果主题字符串为空,则假定要使用所有的可用主题。
data 向 DDE 伙伴发送未请求的数据。接收应用程序必须知道接受指定主题的有关数据的方法。

实例

 VARIABLES
  rc              :INTEGER;
 partner_whdl: WINDOW;
 partner_topic: STRING;
 partner_data: STRING;

ACTIONS

(* Assuming session Initiated, partner variables have
 been set. *)

 rc := DDEPoke ($Handle, partner_whdl, partner_topic,
                partner_data );
 IF (rc < 1) THEN
 (* DDEPoke failed *)
 ELSE
 (* DDEPoke succeeded *)
 END;
 ...
END;

返回码

返回码 说明
1 成功完成。
-2 未知值。
-10 在操作系统级调用失败。这可能是由不适当的配置或资源不够引起的。

另见

DDEData

其他信息,请参见 TSD 脚本消息页。

关于在 TSD 脚本中使用 DDE 命令来同其他应用程序进行通信的附加实例,请参见安装了 Tivoli 服务台开发工具包的 EXAMPLES/DDE 目录中的 ddetcli.kb 和 ddetsrv.kb 文件。


DDERequest

说明

向 DDE 伙伴请求数据。

语法

 FUNCTION DDERequest(VAL whdl, whdlPartner: WINDOW,
                      VAL topic: STRING): INTEGER;

自变量说明

自变量名称 说明
whdl 应用程序窗口的窗口句柄,该窗口接受来自 DDE 伙伴的响应消息。一般情况下,该窗口是桌面子窗口,而且是应用程序的主窗口。当 DDE 函数响应 DDE 消息时,该参数就是 $Handle 伪参数。
whdlPartner 会话中伙伴应用程序窗口的窗口句柄。这是 DDE 函数的寻址窗口。这是具体的 $DDEWindow 伪参数,它是所有 DDE 消息的组成部分。
topic DDE 函数在伙伴应用程序中寻址的数据项。要进行 DDE 会话的应用程序都必须同意会话主题和给定主题的可用活动。如果主题字符串为空,则假定要使用所有的可用主题。

注释

伙伴应用程序可能会通过发送请求的数据或发送一个负的应答($MsgDDEAcknowledge)来响应。

实例

VARIABLES
  rc              :INTEGER;
 partner_whdl: WINDOW;
 partner_topic: STRING;
 partner_data: STRING;
ACTIONS
(* Assuming session Initiated, partner variables have
 been set. *)
 DDERequest ( $Handle, partner_whdl, partner_topic );

 (* The DDE Partner will respond with Data or Acknowledge *)

EVENT DDEWindow( REF DDEDataRec: DDEREC ) IS
 ...
ACTIONS
 WHEN $Event IS $MsgCreate THEN
 ...
 ELSWHEN $MsgDDEAcknowledge THEN
 (* Look in $DDETopic, $DDEData and $DDEStatus for
 information. *)
 ...
 ELSWHEN $MsgDDEData THEN
 (* Look in $DDETopic and $DDEData for information. *)
 ...
 END;
END;

返回码

返回码 说明
1 成功完成。
-2 未知值。
-10 在操作系统级调用失败。这可能是由不适当的配置或资源不够引起的。

另见

其他信息,请参见 TSD 脚本消息页。

关于在 TSD 脚本中使用 DDE 命令来同其他应用程序进行通信的附加实例,请参见安装了 Tivoli 服务台开发工具包的 EXAMPLES/DDE 目录中的 ddetcli.kb 和 ddetsrv.kb 文件。


DDERespond

说明

$MsgDDEInitiate 消息发送响应。

语法

 FUNCTION DDERespond(VAL whdl, whdlPartner: WINDOW,
                     VAL topic, VAL appName: STRING): INTEGER;

自变量说明

自变量名称
whdl 应用程序窗口的窗口句柄,该窗口接受来自 DDE 伙伴的响应消息。一般情况下,该窗口是桌面子窗口,而且是应用程序的主窗口。当 DDE 函数响应 DDE 消息时,该参数就是 $Handle 伪参数。
whdlPartner 会话中伙伴应用程序窗口的窗口句柄。这是 DDE 函数的寻址窗口。这是具体的 $DDEWindow 伪参数,它是所有 DDE 消息的组成部分。
topic DDE 函数在伙伴应用程序中寻址的数据项。要进行 DDE 会话的应用程序都必须同意会话主题和给定主题的可用活动。如果主题字符串为空,则假定要使用所有的可用主题。
appName 调用应用程序的名称。该名称向潜在的 DDE 客户机标识应用程序。建议 Tivoli 服务台开发工具包应用程序使用主知识库名称。

注释

DDERespond 用于响应 $MsgDDEInitate。它将该应用程序标识为潜在 DDE 客户机(启动程序)的 DDE 服务器。$MsgDDEInitiate$DDEData 中包含请求的应用程序名称,在 $DDETopic 中包含请求的主题。对于每个匹配的应用程序和主题,将期望服务器使用下述条件来调用 DDERespond

假定空的或 $Unknown 字符串与任何 appNametopic 匹配。

实例

 VARIABLES
  rc              :INTEGER;
 partner_whdl: WINDOW;
 partner_topic: STRING;
 partner_data: STRING;

EVENT DDEWindow( REF DDEDataRec: DDEREC ) IS
 ...
ACTIONS
  WHEN $Event IS $MsgCreate THEN
 ...
 ELSWHEN $MsgDDEInitiate THEN
 (* Look in $DDETopic, $DDEData and $DDEWindow for
 information. *)
 WHEN $DDETopic IS '' THEN
 (* Indicate all topics to which this app will respond *)
 DDERespond($Handle, $DDEWindow, 'TOPIC1',
 thisAppName);
 DDERespond($Handle, $DDEWindow, 'TOPIC2',
 thisAppName);
 ELSWHEN 'TOPIC1' THEN
 DDERespond($Handle, $DDEWindow, 'TOPIC1',
 thisAppName);
 ELSWHEN 'TOPIC2' THEN
 DDERespond($Handle, $DDEWindow, 'TOPIC2',
 thisAppName);
   END;
 ...
   END;
   END;

返回码

返回码 说明
1 成功完成。
-2 未知值。

另见

其他信息,请参见 TSD 脚本消息页。

关于在 TSD 脚本中使用 DDE 命令来同其他应用程序进行通信的附加实例,请参见安装了 Tivoli 服务台开发工具包的 EXAMPLES/DDE 目录中的 ddetcli.kb 和 ddetsrv.kb 文件。


DDETerminate

说明

终止 DDE 会话。

语法

 FUNCTION DDETerminate(VAL whdl, VAL whdlPartner: WINDOW):INTEGER;

注意:不恰当地终止 DDE 会话可能会引起程序暂停处理进程。

自变量说明

自变量名称 说明
whdl 应用程序窗口的窗口句柄,该窗口接受来自 DDE 伙伴的响应消息。一般情况下,该窗口是桌面子窗口,而且是应用程序的主窗口。当 DDE 函数响应 DDE 消息时,该参数就是 $Handle 伪参数。
whdlPartner 会话中伙伴应用程序窗口的窗口句柄。这是 DDE 函数的寻址窗口。

注释

在建立了 DDE whdlPartner 连接后,应当将伙伴应用程序窗口的值保存在 WINDOW 类型的本地变量(例如,DDEPartnerWindow)中。在建立该 DDE 连接后,可以立即在 $DDEWindow 伪参数中查找到伙伴应用程序的值。

例如:

 ...
VARIABLES&;DDEPartnerWindow : WINDOW;
...
ELSWHEN $MsgInitiate THEN
...
DDEPartnerWindow := $DDEWindow;
...

如果该程序在处理 $MsgDestroy 事件时终止,请使用参数 $Handle 和远程伙伴应用程序(DDEPartnerWindow)的窗口句柄来调用 DDETerminate,以避免内存丢失。

例如:

    ELSWHEN $MsgDestroy THEN
...
DDETerminate ($Handle, DDEPartnerWindow);
...

实例

 TYPES
 DDEPARTNERREC IS RECORD
 whdl: WINDOW;
 topic: STRING;
 appName: STRING;
 data: STRING;
   END;

 DDEREC IS RECORD
 partners: LIST OF DDEPARTNERREC;
 whdlPartner: WINDOW;
   END;

EVENT DDEWindow( REF DDEDataRec: DDEREC ) IS
 ...
ACTIONS
  WHEN $Event IS $MsgCreate THEN
 ...
   ELSWHEN $MsgDestroy THEN

 (* Must terminate the sessions for all
 initiated partners. *)

 FOR ddeDataRec.partners DO
 DDETerminate ( $Handle, ddeDataRec.partners
 [$CURRENT].whdl );
   END;
   END;
 ...
END; ...

返回码

返回码 说明
1 成功完成。
-10 在操作系统级调用失败。这可能是由不适当的配置或资源不够引起的。

另见

关于在 TSD 脚本中使用 DDE 命令来同其他应用程序进行通信的附加实例,请参见安装了 Tivoli 服务台开发工具包的 EXAMPLES/DDE 目录中的 ddetcli.kb 和 ddetsrv.kb 文件。


DDEUnAdvise

说明

取消 DDEAdvise 请求。

语法

 FUNCTION DDEUnAdvise(VAL whdl, whdlPartner: WINDOW,
                      VAL topic: STRING): INTEGER;

自变量说明

自变量名称 说明
whdl 应用程序窗口的窗口句柄,该窗口接受来自 DDE 伙伴的响应消息。一般情况下,该窗口是桌面子窗口,而且是应用程序的主窗口。当 DDE 函数响应 DDE 消息时,该参数就是 $Handle 伪参数。
whdlPartner 会话中伙伴应用程序窗口的窗口句柄。这是 DDE 函数的寻址窗口。这是具体的 $DDEWindow 伪参数,它是所有 DDE 消息的组成部分。
topic DDE 函数在伙伴应用程序中寻址的数据项。要进行 DDE 会话的应用程序都必须同意会话主题和给定主题的可用活动。如果主题字符串为空,则假定要使用所有的可用主题。

注释

DDEUnAdvise 取消给定服务器上的给定主题的 DDEAdvise。如果主题是一个零长度的字符串,则将取消该服务器上请求客户机的所有建议。

实例

关于在 TSD 脚本中使用 DDE 命令来同其他应用程序进行通信的实例,请参见安装了 Tivoli 服务台开发工具包的 EXAMPLES/DDE 目录中的 ddetcli.kb 和 ddetsrv.kb 文件。

返回码

返回码 说明
1 成功完成
-2 未知值
-10 在操作系统级调用失败。这可能是由不适当的配置或资源不够引起的。

另见


Tivoli 服务台 6.0 开发工具包脚本语言参考

返回主页

版权所有