ADC Home > Reference Library > Reference > Mac OS X > Mac OS X Man Pages

 

This document is a Mac OS X manual page. Manual pages are a command-line technology for providing documentation. You can view these manual pages locally using the man(1) command. These manual pages come from many different sources, and thus, have a variety of writing styles.

For more information about the manual page format, see the manual page for manpages(5).



dde(n)                                      Tcl Bundled Packages                                      dde(n)



____________________________________________________________________________________________________________

NAME
       dde - Execute a Dynamic Data Exchange command

SYNOPSIS
       package require dde 1.2

       dde servername ?topic?

       dde execute ?-async? service topic ?data?

       dde poke service topic item data

       dde request ?-binary? service topic ?data?

       dde services service topic ?data?

       dde eval ?-async? service topic ?data?
____________________________________________________________________________________________________________


DESCRIPTION
       This  command  allows  an  application to send Dynamic Data Exchange (DDE) command when running under
       Microsoft Windows. Dynamic Data Exchange is a mechanism where applications  can  exchange  raw  data.
       Each  DDE  transaction needs a service name and a topic. Both the service name and topic are applica-tion application
       tion defined; Tcl uses the service name TclEval, while the topic name is the name of the  interpreter
       given  by  dde  servername. Other applications have their own service names and topics. For instance,
       Microsoft Excel has the service name Excel.

       The eval and execute commands accept the option -async:



       DDE COMMANDS

       The following commands are a subset of the full Dynamic Data Exchange set of commands.

       dde servername ?topic?
              dde servername registers the interpreter as a DDE server with the service name TclEval and the
              topic  name  specified by topic.  If no topic is given, dde servername returns the name of the
              current topic or the empty string if it is not registered as a service.

       dde execute ?-async? service topic data
              dde execute takes the data and sends it to the server indicated  by  service  with  the  topic
              indicated  by  topic. Typically, service is the name of an application, and topic is a file to
              work on.  The data field is given to  the  remote  application.   Typically,  the  application
              treats  the  data  field  as  a  script, and the script is run in the application.  The -async
              option requests asynchronous invocation.  The command returns an error message if  the  script
              did  not  run,  unless the -async flag was used, in which case the command returns immediately
              with no error.

       dde poke service topic item data
              dde poke passes the data to the server indicated by service using the topic  and  item  speci-fied. specified.
              fied.   Typically,  service  is the name of an application.  topic is application specific but
              can be a command to the server or the name of a file to work on.  The item is also application
              specific  and  is  often not used, but it must always be non-null.  The data field is given to
              the remote application.

       dde request ?-binary? service topic item
              dde request is typically used to get the value of something; the value of a cell in  Microsoft
              Excel or the text of a selection in Microsoft Word. service is typically the name of an appli-cation, application,
              cation, topic is typically the name of the file, and item is application-specific. The command
              returns the value of item as defined in the application.  Normally this is interpreted to be a
              string with terminating null.  If -binary is specified, the  result  is  returned  as  a  byte
              array.

       dde services service topic
              dde  services  returns  a  list of service-topic pairs that currently exist on the machine. If
              service and topic are both null strings ({}), then all service-topic pairs currently available
              on  the  system  are returned. If service is null and topic is not, then all services with the
              specified topic are returned. If service is not null and topic is, all topics for a given ser-vice service
              vice  are  returned.  If both are not null, if that service-topic pair currently exists, it is
              returned; otherwise, null is returned.

       dde eval ?-async? topic cmd ?arg arg ...?
              dde eval evaluates a command and its arguments using the interpreter specified by  topic.  The
              DDE  service must be the TclEval service.  The -async option requests asynchronous invocation.
              The command returns an error message if the script did not run, unless  the  -async  flag  was
              used,  in  which case the command returns immediately with no error.  This command can be used
              to replace send on Windows.


DDE AND TCL
       A Tcl interpreter always has a service name of TclEval.  Each different interpreter  of  all  running
       Tcl applications must be given a unique name specified by dde servername. Each interp is available as
       a DDE topic only if the dde servername command was used to set the name of the topic for each interp.
       So  a  dde  services  TclEval {} command will return a list of service-topic pairs, where each of the
       currently running interps will be a topic.

       When Tcl processes a dde execute command, the data for the execute is run as a script in  the  interp
       named by the topic of the dde execute command.

       When  Tcl processes a dde request command, it returns the value of the variable given in the dde com-mand command
       mand in the context of the interp named by the dde topic. Tcl  reserves  the  variable  $TCLEVAL$EXE-CUTE$RESULT $TCLEVAL$EXECUTE$RESULT
       CUTE$RESULT  for  internal  use,  and  dde request commands for that variable will give unpredictable
       results.

       An external application which wishes to run a script in Tcl should have that script store its  result
       in a variable, run the dde execute command, and the run dde request to get the value of the variable.

       When using DDE, be careful to ensure that the event queue is flushed using either  update  or  vwait.
       This  happens  by  default  when using wish unless a blocking command is called (such as exec without
       adding the & to place the process in the background).  If for any  reason  the  event  queue  is  not
       flushed,  DDE  commands may hang until the event queue is flushed.  This can create a deadlock situa-tion. situation.
       tion.


SEE ALSO
       tk(n), winfo(n), send(n)


KEYWORDS
       application, dde, name, remote execution



dde                                                  1.2                                              dde(n)

Did this document help you?
Yes: Tell us what works for you.
It’s good, but: Report typos, inaccuracies, and so forth.
It wasn’t helpful: Tell us what would have helped.