From: Pat Thoyts Date: Thu, 17 Jun 2004 17:59:24 +0000 (+0000) Subject: Include HTML docs and removed NROFF version X-Git-Tag: winsend-1-0~1 X-Git-Url: http://privyetmir.co.uk/gitweb.cgi?a=commitdiff_plain;h=434fedb6459da6467a775f102c144741b03caed0;p=winsend Include HTML docs and removed NROFF version --- diff --git a/doc/winsend.html b/doc/winsend.html new file mode 100644 index 0000000..e1f61f5 --- /dev/null +++ b/doc/winsend.html @@ -0,0 +1,207 @@ + +winsend - winsend + + + + + + +

winsend(n) 1.0 "winsend"

+

NAME

+

+

winsend - send implementation for windows platform + + + + + + +

TABLE OF CONTENTS

+

    TABLE OF CONTENTS
    SYNOPSIS
    DESCRIPTION
    COMMANDS
    EXAMPLES
    DOWNLOAD and INSTALLATION
    AUTHORS
    SEE ALSO
    KEYWORDS
    COPYRIGHT

SYNOPSIS

+

+package require Tcl 8.3
+package require winsend ?1.0?
+
+
winsend command ?arguments ...?
+

DESCRIPTION

+

+

+ +The winsend package is an attempt to provide the complete +functionality of the Tk send 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 send command this is +done via the X Windows server. The winfo interps command returns +a list of registered interpreters and the send command allows +you to execute Tcl commands in the named interpreter. Finally tk +appname allows the programmer to select the registration name. + +

+ +There are alternative methods for providing remote command xecution on +the windows platform. The comm package that is now part of +tcllib 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. + +

+ +The other method is the dde package which is supplied as part of +the Tcl core. This provides automatic registration and the available +interpreters can be listed by excuting +dde servers TclEval {}. 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. + +

+ +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 +cscript test.vbs +

 
+ Set interp = GetObject("TclEval\tkcon.tcl")
+ interp.Send "puts {Hello from VB Script}"
+ WScript.Echo interp.Send("info tcl")

+ +Provided you have an instance of Tcl running registered with +winsend appname tkcon.tcl you should see the message appear in +the Tcl window and the Tcl version should be printed to the cscript +console window. + + + +

COMMANDS

+

+ +

+ +
winsend command ?arguments ...?
+ + +
+
interps
+ Get the list of registered interpreter names for use with +send. Similar to the Tk winfo interps command. + +

+
appname ?name?
+ 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. + +

+
send appname cmd ?arg arg ...?
+ As for the Tk send command this concatenates cmd and +all args and passes the resulting string to the appname +interpreter for evaluation. It returns the result or error from this +command evaluation. + +
+ +
+ + + +

EXAMPLES

+

+ +

+

 
+% package require winsend
+1.0
+% winsend appname MyApp
+MyApp
+% winsend send MyApp info tcl
+8.3
+

+ +

+ +An example session between two interpreters +

 
+An example (from tkcon):         from a concurrent tclsh:
+  % package require winsend  |     % package require winsend
+  1.0                        |     1.0
+  % 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                  |
+

+ + + +

DOWNLOAD and INSTALLATION

+

+ +The latest version is available at +http://prdownloads.sourceforge.net/tclsoap/winsend-1.0.zip +This includes the source and the DLLs. To install, copy the DLLs and +the "pkgIndex.tcl" file to a subdirectory of your auto_path +variable. For instance, to "c:/Program Files/Tcl/lib/winsend10/" + +

+ +Documentation is located at +http://tclsoap.sourceforge.net/winsend.html + + + + + + + +

AUTHORS

+

+Pat Thoyts + + + + +

SEE ALSO

+

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

KEYWORDS

+

+Automation, COM, appname, send, tk, winfo +

COPYRIGHT

+

+Copyright © 2002 Pat Thoyts <patthoyts@users.sourceforge.net>
+ diff --git a/doc/winsend.n b/doc/winsend.n deleted file mode 100644 index 08c12f3..0000000 --- a/doc/winsend.n +++ /dev/null @@ -1,171 +0,0 @@ -'\" -'\" 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