tkinspectは、Tkのsendコマンドを使いTkアプリケーションのプロシジャや変数等の情報をブラウズします。
アプリケーションの変数の変更やトレースおよびTkアプリケーションへコマンドの送信ができます。
tkinspectに表示できる情報は、以下から選択できます。
package require dde dde servername MyApplication |
MyApplicationの部分はユニークな名前を与えます。
COMを使う場合、winsend等の拡張パッケージを別途用意し、
Tkアプリケーションに以下のような記述が必要です。
package require winsend winsend appname MyApplication |
Socketを使う場合は、tkcon等のコンソール・アプリケーションが必要になります。
tkconで以下のようにTkアプリケーションを実行します。通信にはTcllibのcommパッケージを使います。
source MyApplication.tcl package require comm comm::comm self => 3802 |
このとき、comm::comm selfの結果の数字(ポート番号)を、
tkinspectのFileメニュー→Connect to commメニューで開いたダイアログに入力してやる必要があります。
Globalsリストから変数を選択し、Valueウィンドウでその変数値を変更した後に、
Send Valueボタンを押すことで、Tkアプリケーションの変数値を変更できます。
GlobalsメニューのTrace Variableを選択すると変数のトレースウィンドウが開きます。
トレースウィンドウは、変数値の変化をリアルタイムにトレースします。
Widnowsリストからウィンドウを選択すると、Tkアプリケーションの対象ウィンドウが強調表示されます。
このように、tkinspectを使ってTkアプリケーションのブラウズとインスペクトが可能なのです。
このような強力なツールはActiveTclに同梱して欲しいものです。