[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: