Tivoli 服务台 6.0 开发工具包脚本语言参考
返回主页
在请求主题的关联数据改变时,请求 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 | 指示请求的建议类型的标志。可能的值有:
|
只要更改了主题的关联数据,DDEAdvise 就请求 DDE 服务器向窗口句柄传送 $MsgDDEData。以这种方式发送的数据消息的状态标志中没有设置 DDEResponse 位。DDEAdvise 消息可以由 DDEUnAdvise 取消。
关于在 TSD 脚本中使用 DDE 命令来同其他应用程序进行通信的实例,请参见安装了 Tivoli 服务台开发工具包的 EXAMPLES/DDE 目录中的 ddetcli.kb 和 ddetsrv.kb 文件。
返回码 | 说明 |
1 | 成功完成 |
-2 | 未知值 |
-10 | 在操作系统级调用失败。这可能是由不适当的配置或资源不够引起的。 |
其他信息,请参见 TSD 脚本消息页。
通过 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 | 指示请求的建议类型的标志。可能的值有:
|
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 文件。
发送一个命令串来让 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 文件。
启动与一个或多个伙伴的 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 接口的其他信息,请参见供应商提供的文档。
向 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 文件。
向 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 文件。
向 $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 字符串与任何 appName 或 topic 匹配。
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 文件。
终止 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 文件。
取消 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 开发工具包脚本语言参考