Provided by: manpages-zh_1.6.3.3-2_all bug

NAME

       dde - 执行一个动态数据交换命令

总览 SYNOPSIS

       package require dde 1.1

       dde servername ?topic?

       dde ?-async? command service topic ?data?
_________________________________________________________________

描述 DESCRIPTION

       当运行在  Microsoft  Windows 下的时候,这个命令允许一个应用来发送动态数据交换(Dynamic Data
       Exchange:DDE)命令。动态数据交换是一种机制,在这里应用可以交换原始数据。每个           DDE
       事务都需要一个服务名(service       name)和一个主题(topic)服务名和主题均由应用来定义;Tcl
       使用的服务名是                     TclEval,而主题名是用dde                     servername
       给出的解释器的名字。其他的应用有其自己的服务名主题。例如,Microsoft   Excel   的服务名是
       Exceldde  命令的唯一的选项是:

       -async 要求异步激发(invocation)。这只对execute       子命令有效。正常的,dde       execute
              子命令等待直到命令完成,返回适当的出错信息。当使用了                         -async
              选项,命令立刻返回,不能获得出错信息。

DDE 命令 COMMANDS

       下面的命令是完整的动态数据交换命令集的子集。

       dde servername ?topic?
              dde servername  用服务名 TclEval   和由 topic 指定的主题名来把解释器注册为一个  DDE
              服务器。如果没有给出                                                     topicdde
              servername返回当前的主题的名字,如果未被注册为一个服务则返回空串。

       dde execute service topic data
              dde  execute   接受  data    并把它发送到由   service    指示出的服务器并由   topic
              指示出主题。典型的,service                是一个应用的名字,而               topic
              是要在其上工作的一个文件。给予远程应用的是  data   域(field)。典型的,应用把   data
              域作为脚本对待,接着在应用中运行脚本。如果脚本没有运行,命令返回一个错误。如果使用了
              -async标志,命令立即返回而没有错误。

       dde poke service topic item data
              dde poke  传递 data  到由 service指示的服务器并用 topicitem  加以指定。典型的,
              service                                                     是一个应用的名字。topic
              由应用指定,可以是给服务器的一个命令或一个要在其上工作的一个文件的名字。item
              也由应用指定,不常用,但必须总是非空。给予远程应用的是 data  域( field)。

       dde request service topic item
              dde       request        典型的用于得到某种东西的值;如       Microsoft       Excel
              中的一个单元格(cell)的值或在    Microsoft    Word     中一个选择的文本。    service
              典型的是一个应用的名字。
              topic典型的是文件的名字,item由用户来指定。命令返回在应用中定义的 item的值。

       dde services service topic
              dde services  返回当前在机器上存在的服务-主题对的一个列表。如果 servicetopic
              都是空串({}),    则返回在系统上当前可获得的所有的服务-主题对。如果  service  是空而
              topic      不是,则返回指定主题的所有服务。如果      service      不空而      topic
              空,则返回指定服务的所有主题。如果均不空,若当前存在这个服务-主题对则返回它,否则返回空。

       dde eval topic cmd ?arg arg ...?
              dde  eval    求值一个命令和它的参数,解释器用  topic  指定。DDE   服务必须是TclEval
              服务。这个命令可以用于在 Windows 上替换 send。

DDE TCL

       一个 Tcl 解释器总是有一个服务名 TclEval。每个不同的运行 Tcl 应用的解释器必须给予一个用 dde
       servername指定的唯一的名字。每个解释器只有使用                                         dde
       servername命令来设置名字,这个解释器才可作为一个  DDE  主题来获得。所以一个  dde  services
       TclEval {}  命令将返回一个服务-主题对的列表,这里每个当前运行的解释器都将是一个主题。

       当   Tcl   处理一个   dde   execute   命令时,用于执行的数据作为一个脚本在   dde   execute
       命令的主题指明的解释器中运行。

       当   Tcl   处理一个   dde   request命令时,它返回在   dde   命令中给出的变量的值,变量在由
       dde主题指名的解释器的上下文中的。Tcl     为内部使用而保留变量      $TCLEVAL       $EXECUTE
       $RESULT,对这些变量的dde request  命令将返回不可预测的(unpredictable)结果。

       打算运行一个Tcl   脚本的一个外部(external)应用应当使这个脚本在一个变量中存储它的结果,运行
       dde execute  命令,接着运行 dde request 得到这个变量的值。

       当使用            DDE            时,注意要确保使用            update或者            vwait
       来刷新事件队列。在使用wish时这是缺省的,但不包括调用了一个阻塞命令的情况(例如         exec
       而不填加       &        来在后台运行进程)。如果由于某种原因而导致事件队列没被刷新,DDE
       命令将挂起(hang)直到事件队列被刷新。这可能产生死锁的情况。

参见 SEE ALSO

       tk(n), winfo(n), send(n)

关键字 KEYWORDS

       application, dde, name, remote execution

[中文版维护人]

       寒蝉退士

[中文版最新更新]

       2001/06/18

《中国 Linux 论坛 man 手册页翻译计划》:

       http://cmpp.linuxforum.net

       本页面中文版由中文 man 手册页计划提供。
       中文 man 手册页计划:https://github.com/man-pages-zh/manpages-zh