[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: instantiating Application defined in C++ from tcl
If it's derived from Application, it _must_ be named as Application/*.
- Haobo
On Thu, 30 Sep 1999, T.Hval wrote:
> > You don't need to modify ns/tcl/lib/ns-source.tcl to be able to
> > instantiate a c++ object from tcl.
> >
> > All you need is something like the following
> >
> > static class MyAppClass : public TclClass {
> > public:
> > SFQClass() : TclClass("Application/MyApp") {}
> > TclObject* create(int, const char*const*) {
> > return (new MyApp);
> > }
> > } class_myapp;
> >
> > and, assuminng the MyApp c++ class exists, you can create a new
> > Application/MyApp Tcl object using
> >
> > set obj [new Application/MyApp]
> >
> Thanks.
> I have been trying this without much luck, the "tcl name" (which above is
> Application/MyApp) is just a text string, righ? so as long as the string
> matches between the parameter to the TclClass statement, mactches with the
> Tcl set statement it should work?(In my case it doesn't). I still get the
> same error message:
>
> invalid command name "App"
> while executing
> "App create _o34 "
> invoked from within
> "catch "$className create $o $args" msg"
> (procedure "new" line 3)
> invoked from within
> "new App"
> (file "Apptest.tcl" line 27)
>
> Tor Hval
>
>