Hi all, When I run the sample program about C++/Otcl linkage I got the error as described below: Program: class MyAgent : public Agent { public: MyAgent(); protected: int command(int *argc,const char *const* argv); private: int My_var1; double My_var2; void MyPrivFun(void); }; static class MyAgentClass: public TclClass { public: MyAgentClass() : TclClass("Agent/MyAgentOtcl"){}; TclObject* create(int, const char*const*) { return (new MyAgent()); } }class_my_agent; MyAgent : MyAgent() : Agent(PT_UDP) { bind("my_var1_otcl", &my_var1); bind("my_var2_otcl", &my_var2); } int MyAgent::command(int *argc,const char *const* argv) { if(argc==2) { if(strcmp(argv[1], "call_my_priv_func")==0) { MyPrivFun(); return(TCL_OK); } } return(Agent : command(argc,argv)); } void MyAgent :: MyPrivFun(void) { Tcl& tcl=Tcl::instance(); Tcl.eval("puts \"Message from MyPrivFun\""); Tcl.evalf("puts \" my_var1= %d\"", my_var1); Tcl.evalf("puts \" my_var2= %f\"", my_var2); } ex-linkage.cc set myagent [new Agent/MyAgentOtcl] $myagent set my_var1_otcl 2 $myagent set my_var2_otcl 3.14 $myagent call_my_priv_func ex-linkage.tcl Running above tcl script in ns-2.26 I got the error Invalid command name Agent/MyAgentOtcl While executing A Agent/MyAgentOtcl create _o3 catch $className create $o $args msg (procedure new line 3) invoked from within new Agent/MyAgentOtcl invoked from within set myagent [new Agent/MyAgentOtcl] (file ex-linkage.tcl line 1) I apply the following procedure: Open "Makefile", add "ex-linkage.o" at the end of object file list. Re-compile NS using the "make" command. Run tcl script. if anyone knows the solutins then immediately mail me........... Mahesh
--------------------------------- Why was V. Sehwag warned by the BCCI? Share your knowledge on Yahoo! Answers India Send instant messages to your online friends - NOW