Hi all,
I am a novice to ns-2.1b7a and I am in a great trouble. I have to define in OTcl a new Class BTNode that inherits from the Class Node. To this end I wrote a file ns-btnode.tcl Class BTNode - superclass Node BTNode instproc init {ipAddr bdAddr Xpos Ypos} { eval $self next $ipAddr $self instvar bthost_ btbaseband_ classifier_ ......... } I sourced the file in ns-lib.tcl and introduced it in the Makefile. I have also written several C++ classes and methods. The compile phase does not give problem. However, when I execute a testing script with the following command: set btnode0 [new BTNode 0 0 0 0] #node with IP_addr=0 e BD_addr=0 in position 0,0 on the output all the tcl files sourced in the ns-lib.tcl file before my ns-btnode.tcl are printed and I received the following error : uneven number of args (Object init line 1) invoked from within "BTNode init - superclass Node" (Class create line 1) invoked from within "Class create BTNode - superclass Node" ("eval" body line 1) invoked from within "eval [list $self] create [list $m] $args (procedure "class" line 5) (Class unknown line 5) invoked from within "Class BTNode - superclass Node" I believe that the problem is in the invocation of the constructor for class Node, ie, eval $self next $ipAddr . Any suggestions will be greatly appreciated Raffaele ps: I have adopted the same syntax that I have found in the the Bluehoc code for the declaration of a new class that inherits from the Class Node. It works for Bluehoc (I have installed it successfully), I do not understand why it doesn't work in my case. |