Tclで使える3つのプロセス間通信の特徴をまとめました。
プロセス間通信 | メリット・デメリット |
---|---|
winsend (COM) |
|
ソケット |
|
DDE |
|
winsendはTcl8.3以上の環境で動作します。
# サーバー package require winsend winsend appname foo vwait var puts $var => 123 |
# クライアント package require winsend winsend send foo set var 123 |
次のサンプルは、サーバ名を明確に定義しない例です。
この例は自動登録されたインタプリタ名を使っています。
# サーバー (tkcon.tclから実行) package require winsend vwait var puts $var => 123 |
# クライアント (wish83.exeから実行) package require winsend winsend send tkcon.tcl set var 123 |
通信できるインタプリタを知るには、winsend interpsコマンドで一覧を取得できます。
Set interp = GetObject("\\.\TclInterp\tkcon.tcl") interp.Send "puts {Hello from VB Script}" WScript.Echo interp.Send("info tcl") |