У меня есть холст, расположенный в подокне моего основного приложения:
.dsm.nb.mdlbuild.canvas
дополнительно у меня есть следующее (одно из нескольких) pro c, помогающее пользователю перемещать вещи по canvas:
proc grab { xx yy } {
global currentx currenty
set currentx $xx
set currenty $yy
}
Я использую эту привязку:
.dsm.nb.mdlbuild.canvas bind $tagtomove <Button-1> {grab %x %y }
ПРОБЛЕМА:
Когда пользователь закрывает окно (.dsm), холст искажается, но привязка, кажется, «выживает».
Когда пользователь затем последовательно щелкает где-то, где он получает ошибку:
wrong args: should be "grab xx yy"
Это потому, что xx и yy пустые, я полагаю, потому что холст ушел вместе с окном parrent ...
Я пытался установить нулевую привязку после разрушения окна .dsm:
.dsm.nb.mdlbuild.canvas bind $tagtomove <Button-1> { }
и использовать команду "break", но с безуспешно.
.dsm.nb.mdlbuild.canvas bind $tagtomove <Button-1> break
Как убрать привязку uppon, закрывающую окно (.dsm), в котором находится холст, чтобы эта ошибка исчезла?