Posted to tcl by Napier at Fri Jul 11 18:12:26 GMT 2014view raw

  1. proc traceCallback {oldValue varName args} {
  2. upvar 1 $varName newValue
  3. puts "$varName has Changed:\n$oldValue > changed to > $newValue"
  4. uplevel [list trace remove variable $varName write [list traceCallback $oldValue]]
  5. uplevel [list trace add variable $varName write [list traceCallback $newValue]]
  6. }
  7.  
  8. proc setTrace {varName} {
  9. set value ""
  10. upvar 1 $varName currValue
  11. if {[info exists currValue]} {puts $currValue; set value $currValue}
  12. uplevel [list trace add variable $varName write [list traceCallback $value]]
  13. }