[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [ns] question about error in variable accessing via TCL
You should define the variable in the header file.
Then in .cc file use
delay_bind_init_one("zz_");
in
?????::delay_bind_init_all()
and
if (delay_bind(varName, localName, "zz_", &zz_, tracer)) return
TCL_OK;
in
?????::delay_bind_dispatch(const char *varName, const char
*localName, TclObject *tracer)
Hope it helps.
-Navid
On Wed, 26 Dec 2001, Joo-Han Song wrote:
> HI users,
>
> I tried to create a new variable zz_ in C++ and want to bind it to zz_ in otcl.
> This variable is protected member variable of AODV class of type Agent/AODV, so I set
>
> Agent/AODV set zz_ 1 in ~ns/lib/ns-default.tcl.
>
> In the file ~ns/aodv/aodv.h, I defined the var zz_ as integer, and bound it in ~ns/aodv/aodv.cc by
>
> bind("zz_", &zz_).
>
> But, when I try to access the variable zz_ in my test script like
>
>
> set testing [new Agent/AODV]
>
> $testing set zz_
>
>
> it gave an error saying like following.
>
> can't read "zz_": no such variable
> while executing
> "subst $[subst $var"
> (procedure "_o1175" line 5)
> (Object next line 5)
> invoked from within
> "_o1175 next zz_"
> ("eval" body line 1)
> invoked from within
> "eval $self next $args"
> (procedure "_o1175" line 18)
> (Agent set line 18)
> invoked from within
> "$testing set zz_"
> (file "50_40_100_aodv_final_m.tcl" line 137)
>
>
> Any help will be really appreciated.
> Thank you.
>
> Joo-Han
>