Tcl/Tk 複数の オプションメニュー が 選択できないの続きです
実装したいことは
run.vbsから Select_test.tclを起動して
[実行]ボタンが押され "終了"を検知するか、globVar1が "---"以外に 選択されるのを
run.vbs側が 検知したいのですが 画面が 表示されません
Select_test.tclの while分を 削除すると 表示されるのですが どうしてなのか 解りません
ご教示 お願い致します
このサイトの【サンプルダウンロード】にあるTcl/Tkの
サンプルコードを参考に作成しています
(詳細は Tk - Tcl/Tk)
1: Tcl/Tk配布ページからtcltk86t.zipをダウンロードして解凍し、binフォルダに入っているwish86t.exeとtk86t.dllをTk-TclTk\libフォルダ (Tk-TclTk\binフォルダ)に移動します。
run.vbs
VBS
1CreateObject("WScript.Shell").Run "cmd /q /c ""cd app & ...\bin\wish86t .\Select_test.tcl""",0,false 2ret = WScript.StdIn.ReadLine 3do while ((ret = "") or (ret = "未選択")) 4 wscript.sleep(100) 5 ret = wscript.StdIn.WScript.StdIn.ReadLine 6loop 7Msgbox (ret + " "+ "終了です")
Select_test.tcl
Tcl
1proc BuildGUI {} { 2 array set style { 3 bg #FF55DD 4 txtWidth 62 5 btnFont {"Meiryo UI" 11} 6 } 7 8 wm title . 選択画面 9 set winsize {200 100} 10 wm minsize . [lindex $winsize 0] [lindex $winsize 1] 11 wm maxsize . [lindex $winsize 0] [lindex $winsize 1] 12 wm resizable . false false 13 option add *font $style(btnFont) 14 . configure -bg $style(bg) 15 16 17 label .select_1 -text "果物 " 18 set var1 {--- みかん バナナ りんご メロン} 19 eval tk_optionMenu .menu_1 globVar1 $var1 20 grid .select_1 -row 0 -column 0 -sticky w 21 grid .menu_1 -row 0 -column 1 22 set globVar1 "---" 23 24 label .select_2 -text "野菜 " 25 set var2 {--- レタス 人参 ジャガイモ キュウリ} 26 eval tk_optionMenu .menu_2 globVar2 $var2 27 grid .select_2 -row 2 -column 0 -sticky w 28 grid .menu_2 -row 2 -column 1 29 30 button .btn -text "実行" -command stop 31 grid .btn -row 3 -column 0 -sticky w 32} 33proc stop { } { 34 puts "終了" 35 exit 36} 37 38proc Wait { } { 39 global globVar1 40 while {1} { 41 if {$globVar1 != "---"} { 42 break 43 } 44 } 45 puts $globVar1 46} 47BuildGUI 48Wait
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。