Hitch version in docs.
authorPat Thoyts <patthoyts@users.sourceforge.net>
Fri, 28 Feb 2003 23:55:23 +0000 (23:55 +0000)
committerPat Thoyts <patthoyts@users.sourceforge.net>
Fri, 28 Feb 2003 23:55:23 +0000 (23:55 +0000)
doc/winsend.man
doc/winsend.n [new file with mode: 0644]

index e63732ce0849e5f6f8e42219e6c872ab05708f95..faffdd551993b271e556c9bc1444f04ea7c6c502 100644 (file)
@@ -1,10 +1,10 @@
-[comment {winsend.man - Copyright (C) 2002 Pat Thoyts &lt;Pat.Thoyts@bigfoot.com&gt;}]
+[manpage_begin winsend n 0.6]
+[copyright {2002 Pat Thoyts <patthoyts@users.sourceforge.net>}]
 [comment {$Id$}]
-[manpage_begin winsend n 0.5]
 [moddesc   {winsend}]
 [titledesc {send implementation for windows platform}]
 [require Tcl 8.3]
-[require winsend [opt 0.4]]
+[require winsend [opt 0.6]]
 [description]
 [para]
 
@@ -103,7 +103,7 @@ command evaluation.
 [para]
 [example {
 % package require winsend
-0.5
+0.6
 % winsend appname MyApp
 MyApp
 % winsend send MyApp info tcl
@@ -116,7 +116,7 @@ An example session between two interpreters
 [example {
 An example (from tkcon):         from a concurrent tclsh:
   % package require winsend  |     % package require winsend
-  0.5                        |     0.5
+  0.6                        |     0.6
   % winsend interps          |     % winsend interps
   tkcon.tcl                  |     tkcon.tcl TCLSH.EXE
                              |     % winsend send tkcon.tcl set x 1
@@ -137,10 +137,10 @@ An example (from tkcon):         from a concurrent tclsh:
 [section {DOWNLOAD and INSTALLATION}]
 
 The latest version is available at
-[uri {http://prdownloads.sourceforge.net/tclsoap/winsend-0.5.zip}]
+[uri {http://prdownloads.sourceforge.net/tclsoap/winsend-0.6.zip}]
 This includes the source and the DLLs. To install, copy the DLLs and
 the [file pkgIndex.tcl] file to a subdirectory of your [var auto_path]
-variable. For instance, to [file {c:/Program Files/Tcl/lib/winsend05/}]
+variable. For instance, to [file {c:/Program Files/Tcl/lib/winsend06/}]
 
 [para]
 
diff --git a/doc/winsend.n b/doc/winsend.n
new file mode 100644 (file)
index 0000000..08c12f3
--- /dev/null
@@ -0,0 +1,171 @@
+'\"
+'\" Generated from file 'winsend.man' by tcllib/doctools with format 'nroff'
+'\" Copyright (c) 2002 Pat Thoyts <patthoyts@users.sourceforge.net>
+'\"
+.so man.macros
+.TH "winsend" n 0.6  "winsend"
+.BS
+.SH "NAME"
+winsend \- send implementation for windows platform
+'\" $Id$
+.SH "SYNOPSIS"
+package require \fBTcl  8.3\fR
+.sp
+package require \fBwinsend  ?0.6?\fR
+.sp
+\fBwinsend\fR \fIcommand\fR ?\fIarguments ...\fR?\fR
+.sp
+.BE
+.SH "DESCRIPTION"
+.PP
+The \fBwinsend\fR package is an attempt to provide the complete
+functionality of the Tk \fBsend\fR command using the Microsoft Windows
+platform. The two key points are inter-process communications between
+one interpreter and another, and automatic registration of
+interpreters with a central source. With the Tk \fBsend\fR command this is
+done via the X Windows server. The \fBwinfo interps\fR command returns
+a list of registered interpreters and the \fBsend\fR command allows
+you to execute Tcl commands in the named interpreter. Finally \fBtk
+appname\fR allows the programmer to select the registration name.
+.PP
+There are alternative methods for providing remote command xecution on
+the windows platform. The \fBcomm\fR package that is now part of
+\fBtcllib\fR provides cross-platform remote command execution by the
+use of TCP sockets. The disadvantage of this package is the lack of
+interpreter registration. Potential clients need to be told of the
+port number to use to communicate with the server application.
+.PP
+The other method is the \fBdde\fR package which is supplied as part of
+the Tcl core. This provides automatic registration and the available
+interpreters can be listed by excuting
+\fBdde servers TclEval {}\fR. The disadvantage if the DDE system
+is that a badly written
+windows application can hang your application. DDE uses windows
+messages to do its work. If an application isn't processing it's
+message queue then the dde command given above will never complete.
+.PP
+An alternative is available using Microsoft's COM technology. COM is
+designed to permit interprocess communication through the use of
+interfaces. There is also a system provided registration object where
+a reference to a running interpreter can be lodged. Querying the list
+of available servers only communicates with the Running Object Table
+(the ROT) and doesn't need to send messages to any
+applications. Sending commands does require the server interpreter to
+be processing events - but if the server is not processing these
+events then the command will time out. This is a significant advantage
+over DDE. Also, because we are using standard OLE automation
+interfaces it becomes possible for any other Automation capable
+application to send commands to Tcl for execution. Such applications
+include Microsoft Office applications, Internet Explorer and many
+others. For instance the following VB script can be run using the
+Windows Scripting Host cscript application using
+\fBcscript test.vbs\fR
+.nf
+ Set interp = GetObject("\\.\TclInterp\tkcon.tcl")
+ interp.Send "puts {Hello from VB Script}"
+ WScript.Echo interp.Send("info tcl").fi
+
+Provided you have an instance of Tcl running registered with 
+\fBwinsend appname tkcon.tcl\fR you should see the message appear in
+the Tcl window and the Tcl version should be printed to the cscript
+console window.
+
+'\" ----------------------------------------------------------
+
+.SH "COMMANDS"
+
+
+
+
+.TP
+\fBwinsend\fR \fIcommand\fR ?\fIarguments ...\fR?\fR
+
+
+.RS
+
+.TP
+\fBinterps\fR
+   Get the list of registered interpreter names for use with
+send. Similar to the Tk \fBwinfo interps\fR command.
+
+
+.TP
+\fBappname\fR ?\fIname\fR?
+   When called with no arguments this returns the registered name of
+this interpreter. If a single argument is given, this is used to
+re-register the application using the new name. If the registration
+fails for some reason, such as the name is already in use, then an
+error is returned and the old appname remains in use.
+
+
+.TP
+\fBsend\fR \fIappname\fR \fIcmd\fR ?\fIarg arg ...\fR?
+   As for the Tk \fBsend\fR command this concatenates \fIcmd\fR and
+all \fIargs\fR and passes the resulting string to the \fIappname\fR
+interpreter for evaluation. It returns the result or error from this
+command evaluation.
+
+
+.RE
+
+
+
+'\" ----------------------------------------------------------
+
+.SH "EXAMPLES"
+
+
+.PP
+
+
+.nf
+% package require winsend
+0.6
+% winsend appname MyApp
+MyApp
+% winsend send MyApp info tcl
+8.3
+.fi
+.PP
+An example session between two interpreters
+.nf
+An example (from tkcon):         from a concurrent tclsh:
+  % package require winsend  |     % package require winsend
+  0.6                        |     0.6
+  % winsend interps          |     % winsend interps
+  tkcon.tcl                  |     tkcon.tcl TCLSH.EXE
+                             |     % winsend send tkcon.tcl set x 1
+                             |     1
+  % set x                    |
+  1                          |
+  % winsend send TCLSH.EXE set y 2
+                             |     % after 2000 {set zx 1} ; vwait zx
+  2                          |     % set y
+                             |     2
+                             |     % exit
+  % winsend interps          |
+  tkcon.tcl                  |
+.fi
+'\" ----------------------------------------------------------
+.SH "DOWNLOAD and INSTALLATION"
+The latest version is available at
+\fIhttp://prdownloads.sourceforge.net/tclsoap/winsend-0.6.zip\fR
+This includes the source and the DLLs. To install, copy the DLLs and
+the "\fIpkgIndex.tcl\fR" file to a subdirectory of your \fBauto_path\fR
+variable. For instance, to "\fIc:/Program Files/Tcl/lib/winsend06/\fR"
+.PP
+Documentation is located at
+\fIhttp://tclsoap.sourceforge.net/winsend.html\fR
+'\" ----------------------------------------------------------
+.SH "SEE ALSO"
+send(n), winfo(n), tk(n)
+'\" ----------------------------------------------------------
+.SH "AUTHORS"
+Pat Thoyts
+'\" ----------------------------------------------------------
+.SH "KEYWORDS"
+send, appname, tk, winfo, COM, Automation
+.SH "COPYRIGHT"
+.nf
+Copyright (c) 2002 Pat Thoyts <patthoyts@users.sourceforge.net>
+.fi
\ No newline at end of file