Re: Ограничения в Tcl/Tk - существуют-ли?
On Wed, 21 Jan 2015 20:56:40 +0300
Кабанов Евгений Константинович <evgeny@kabanov.tel> wrote:
> Здравствуйте!
>
> >> Переменная устанавливалась с помощью set, попробовал и variable,
> >> unset не используется:
> > …
> >> (file "tk.tcl" line 1750)
> > Мммм, а остальные 1747 строчек надо угадать? В столь большом файле
> > очень много ошибок сделать можно. И поставленная не туда фигурная
> > скобка, к сожалению, может запортить разбор всего файла.
>
> Постеснялся засорять письмо - вот ссылка на файлик
>
> 44: pack [button .button1 -text "Считать" -command {
> 45: variable jd [exec swetest -b$date -ut$time -fJ -head -p0]
> 46: variable jd1 [expr [exec swetest -b$date -ut$time -fJ -head -p0]-1.0/86400.0]
> 47: variable jd2 [expr [exec swetest -b$date -ut$time -fJ -head -p0]+1.0/86400.0]
> …
> 1745: }] < [expr {$h1 - 0.0}] && $ma2 > $ma3} {lappend ma9 12}}]
С 44 по 1745 строку идёт команда [button .button1 …], а конкретнее
скрипт в параметре -command у неё. Дальнейший код, на котором и
вылетает ошибка, исполняется *до* исполнения скрипта, навешенного на
кнопку, потому он и не видит значения переменной h1, задаваемого внутри
скрипта на кнопке.
Совет: используйте функции, форматируйте код отступами. Будет гораздо
легче читать код и искать ошибки.
--
Alexander Galanin
Reply to: