Thanks a lot! While trying to understand your suggestions, I further simplified my own code and found the problem.
It was all my fault!
In the slave interpreter 'Celsius2Kelvin' is an unknown proc and therefor a room-object with this name gets created and I got confused. - I definitly have to get some rest soon :-)
Sorry for having bothered you and thanks for your suggestions! - Florian
-----Original Message----- From: Gustaf Neumann [mailto:neumann@wu-wien.ac.at] Sent: Thursday, January 05, 2006 3:13 PM To: Murr, Florian Cc: xotcl@alice.wu-wien.ac.at Subject: Re: [Xotcl] Weird behaviour
i am somewhat confused be the code (why are you creating and deleting interpreters?) is the following code doing, what you are trying? (aggregates rooms on floors with a simple syntax)
-gustaf =================================================== package require XOTcl namespace import -force ::xotcl::*
namespace eval tih { Class Floor \ -instproc has cmds {eval $cmds}
Class Room -superclass Class \ -parameter {{count 0} currTemp} \ -instproc new args { set name "[self callingobject]::[namespace tail [self]]-[my incr count]" eval [self] create $name $args }
Room room -parameter {{currTemp 300}} Room guestRoom -superclass room Room bathRoom -superclass room Room guestBathRoom -superclass bathRoom
proc Celsius2Kelvin {a} { expr {$a+273.15} }
Floor floor3 -has { guestRoom new guestBathRoom new -currTemp [Celsius2Kelvin 30] }
puts "rooms on floor 3: [floor3 info children]" foreach c [floor3 info children] { puts "temperature in room $c is [$c currTemp]" }
} exit