76 lines
1.5 KiB
Tcl
76 lines
1.5 KiB
Tcl
# file: runme.tcl
|
|
|
|
catch { load ./example[info sharedlibextension] example}
|
|
|
|
# Try to set the values of some global variables
|
|
|
|
set ivar 42
|
|
set svar -31000
|
|
set lvar 65537
|
|
set uivar 123456
|
|
set usvar 61000
|
|
set ulvar 654321
|
|
set scvar -13
|
|
set ucvar 251
|
|
set cvar "S"
|
|
set fvar 3.14159
|
|
set dvar 2.1828
|
|
set strvar "Hello World"
|
|
set iptrvar [new_int 37]
|
|
set ptptr [new_Point 37 42]
|
|
set name "Bill"
|
|
|
|
# Now print out the values of the variables
|
|
|
|
puts "Variables (values printed from Tcl)"
|
|
|
|
puts "ivar = $ivar"
|
|
puts "svar = $svar"
|
|
puts "lvar = $lvar"
|
|
puts "uivar = $uivar"
|
|
puts "usvar = $usvar"
|
|
puts "ulvar = $ulvar"
|
|
puts "scvar = $scvar"
|
|
puts "ucvar = $ucvar"
|
|
puts "fvar = $fvar"
|
|
puts "dvar = $dvar"
|
|
puts "cvar = $cvar"
|
|
puts "strvar = $strvar"
|
|
puts "cstrvar = $cstrvar"
|
|
puts "iptrvar = $iptrvar"
|
|
puts "name = $name"
|
|
puts "ptptr = $ptptr [Point_print $ptptr]"
|
|
puts "pt = $pt [Point_print $pt]"
|
|
|
|
puts "\nVariables (values printed from C)"
|
|
|
|
print_vars
|
|
|
|
puts "\nNow I'm going to try and modify some read only variables";
|
|
|
|
puts " Trying to set 'path'";
|
|
if { [catch {
|
|
set path "Whoa!"
|
|
puts "Hey, what's going on?!?! This shouldn't work"
|
|
}]} {
|
|
puts "Good."
|
|
}
|
|
|
|
puts " Trying to set 'status'";
|
|
if { [catch {
|
|
set status 0
|
|
puts "Hey, what's going on?!?! This shouldn't work"
|
|
}]} {
|
|
puts "Good."
|
|
}
|
|
|
|
puts "\nI'm going to try and update a structure variable.\n"
|
|
|
|
set pt $ptptr
|
|
|
|
puts "The new value is"
|
|
pt_print
|
|
puts "You should see the value [Point_print $ptptr]"
|
|
|
|
|
|
|