У меня есть следующая процедура, которая меняет цвет кнопки выбора файла в зависимости от того, существует ли текущий путь в поле ввода или нет. Первый цикл if работает, для второго я получаю «недопустимое имя команды» при выполнении «$Button configure - background red», и я понятия не имею, почему...
proc ::CheckGUIPaths { } {
set FilePathList [list $::GUI_DB_path $::GUI_BDF_path $::GUI_ALLOW_path $::GUI_EXCEL_path $::GUI_HM_path]
set Buttons [list .dsm.nb.f1.btn_DBfile .dsm.nb.f1.btn_BDFfile .dsm.nb.f1.btn_ALLOWfile .dsm.nb.f1.btn_HMfile .dsm.nb.f1.btn_XLfile]
for { set n 0 } { $n <= 5 } { incr n } {
set Path [lindex $FilePathList $n]
set Button [lindex $Buttons $n]
if { [ file exists $Path ] == 1 } {
$Button configure -background green
}
if { [ file exists $Path ] == 0 } {
$Button configure -background red
}
}
return 0
}