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)で動作を試しています。

● ダウンロード
 コンパイル済みのOLEtclコントロールのアーカイブはこちら(Zip形式、約26KB)です。

● 使い方
 Visual BasicやPowerBuilderのウィンドウにはりつける方法は普通のカスタムOLEコントロールの場合と同じです(こちらをご覧ください)。 で、evalとevalfileという2つのオリジナルメソッド、 resultというオリジナルプロパティをもっています。 VisualBasicでは、こんな感じになります。

  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コントロールになっています。

RAD on Windows Top
(uploaded 2000/06/20 and not ever modified)

テレワークならECナビ Yahoo 楽天 LINEがデータ消費ゼロで月額500円〜!
無料ホームページ 無料のクレジットカード 海外格安航空券 海外旅行保険が無料! 海外ホテル