Passive Tcl? OLEtclコントロール さあここまで来たらあとは予想通り! 今度はTcl/Tkコマンドを文字列として渡すと解釈実行してもらえるという機能をもった OLEコントロール(ActiveXコントロール)を作ってみましょう。 実は、世界の拡張レビュー分室で触れている通り、 ベルジアン・グラフィック・インターフェース社というベルギーの企業が 「Active Tcl」なるまさにこの機能のActiveXコントロールを無償で配布しているのですが、 対応しているのがTcl 8.0レベルというのがネックで、 それじゃあ、 というわけで8.3までに対応したそのパチモンを作ってみたというわけです。 名づけて「Passive Tcl」。じゃなくて、一応、「OLEtcl」 としてみました。 Microsoft Visual C++ 4.0でTcl/Tk 8.3をリンクしてビルドし、 Excel97 VBA(Visual Basic for Applications)で動作を試しています。
● ダウンロード
● 使い方 Dim cmd as String Dim r as Long cmd = "expr 3+5" r = Oletcl1.eval(cmd) if r = 0 then ' 正常終了 MsgBox("結果=" + Oletcl1.result) else ' エラー MsgBox("おおっと! " + Oletcl1.result) end if機能的には最小限ですが、 一応Tclコマンドを解釈実行できるOLEコントロールになっています。 |