[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: instantiating Application defined in C++ from tcl
> 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