From: Pat Thoyts Date: Fri, 28 Feb 2003 23:55:23 +0000 (+0000) Subject: Hitch version in docs. X-Git-Tag: winsend-0-6~3 X-Git-Url: http://privyetmir.co.uk/gitweb.cgi?a=commitdiff_plain;h=22cfa12bdb35c3775be6abc4c1763a88c1128535;p=winsend Hitch version in docs. --- diff --git a/doc/winsend.man b/doc/winsend.man index e63732c..faffdd5 100644 --- a/doc/winsend.man +++ b/doc/winsend.man @@ -1,10 +1,10 @@ -[comment {winsend.man - Copyright (C) 2002 Pat Thoyts <Pat.Thoyts@bigfoot.com>}] +[manpage_begin winsend n 0.6] +[copyright {2002 Pat Thoyts }] [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 index 0000000..08c12f3 --- /dev/null +++ b/doc/winsend.n @@ -0,0 +1,171 @@ +'\" +'\" Generated from file 'winsend.man' by tcllib/doctools with format 'nroff' +'\" Copyright (c) 2002 Pat Thoyts +'\" +.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 +.fi \ No newline at end of file