[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [ns] question about error in variable accessing via TCL
Thanks Navid for your reply.
But I can't fix my problem, error messages are 
still same.
 
As like what you said, I defined two member 
funtions at aodv.h
like
 
 void   delay_bind_init_all();
 int    delay_bind_dispatch(const 
char *varName, const char *localName, TclObject 
*tracer);
       
and did as following at 
aodv.c
 
void
AODV::delay_bind_init_all()
{
 delay_bind_init_one("zz_");
}
 
int
AODV::delay_bind_dispatch(const char *varName, const char 
*localName, TclObject *tracer)
{
 if(delay_bind(varName, localName, 
"zz_", &zz_, tracer))
  return TCL_OK;
}
 
Sorry to bother you again but actually even I am 
not sure why I have to do like this.
Thank you and hope you could have some spare time 
for answering.
 
Joo-Han
 
----- Original Message ----- 
Sent: Wednesday, December 26, 2001 2:44 
PM
Subject: 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
> 
>
>