<br><font size=2><tt>xotcl-bounces@alice.wu-wien.ac.at wrote on 09/15/2006
12:28:50 PM:<br>
<br>
&gt; I have some classes that are defined in C using the xotcl (cersion
<br>
&gt; 1.4) C API. &nbsp;Things seem to work (I can create objects and invoke
<br>
&gt; methods), but I can't get chaining to function. &nbsp;I can invoke
the <br>
&gt; &quot;next&quot; command (using Tcl_Eval( interp, &quot;xotcl::next&quot;)),
but that <br>
&gt; fails with &quot;next: can't find self&quot; <br>
</tt></font>
<br><font size=2><tt>Just a followup for anybody searching the mailing
list archives. </tt></font>
<br>
<br><font size=2><tt>XOTcl requires the Tcl stack to contain information
about the executing object in order to resolve the net method. &nbsp;By
default, and prior to 1.5.1, C methods do not annotate the Tcl stack with
the approriate information to allow method chaining to work.</tt></font>
<br>
<br><font size=2><tt>As of 1.5.1, C methods can be registered with an additional
flag, XOTCL_NONLEAF_METHOD. &nbsp;When a method with this flag is invoked
the Tcl stack will include the information needed to allow &quot;next&quot;
to function properly.</tt></font>
<br>
<br><font size=2><tt>In addition to the new flag, 1.5.1 exports a couple
of additional C functions to improve the performance of the XOTcl at the
C-interface. &nbsp;</tt></font>
<br>
<br><font size=2><tt>XOTclNextObjCmd() - &nbsp;invoke &quot;xotcl::next&quot;
at the C-level without an additional interpreter evaluation</tt></font>
<br><font size=2><tt>XOTclCallMethodWithArgs() - invoke a method without
an additional interpreter evaluation</tt></font>