Thank you for the help.<br><br>Now I am getting another error I don&#39;t understand.<br><br>invalid command name &quot;my&quot;.<br><br>It seems like it is not getting to use XOTcl commands.&nbsp; Here is what I have:<br>----------------------------------------------------------<br>
package require XOTcl<br>::xotcl::Class Stack<br>Stack instproc init {} {<br>&nbsp;&nbsp;&nbsp; # Constructor<br>&nbsp;&nbsp;&nbsp; my instvar things<br>&nbsp;&nbsp;&nbsp; set things &quot;&quot;<br>}<br>Stack instproc push {thing} {<br>&nbsp;&nbsp;&nbsp; my instvar things<br>&nbsp;&nbsp;&nbsp; set things [concat [list $thing] $things]<br>
&nbsp;&nbsp;&nbsp; return $thing<br>}<br>Stack instproc pop {} {<br>&nbsp;&nbsp;&nbsp; my instvar things<br>&nbsp;&nbsp;&nbsp; set top [lindex $things 0]<br>&nbsp;&nbsp;&nbsp; set things [lrange $things 1 end]<br>&nbsp;&nbsp;&nbsp; return $top<br>}<br><br>set s1 [Stack new]<br>----------------------------------------------------------<br>
<br><div class="gmail_quote">On Wed, May 7, 2008 at 1:01 PM, Kristoffer Lawson &lt;<a href="mailto:setok@scred.com">setok@scred.com</a>&gt; wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<br>
On 7 May 2008, at 20:54, Matthew Smith wrote:<br>
<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<br>
---------------------------------------------------------<div class="Ih2E3d"><br>
How do I access the class methods(i guess they are called) from within<br>
the tcl file?<br>
The examples show this:<br>
--------------------------------------------------------<br>
# Create Object s1 of class Stack<br>
% Stack s1<br>
::s1<br>
% s1 push a<br>
a<br>
% s1 push b<br>
b<br>
% s1 push c<br>
c<br>
% s1 pop<br>
c<br>
% s1 pop<br>
b<br>
# Delete object s1<br>
s1 destroy<br>
--------------------------------------------------------<br>
I have tried this:<br>
set s1 [Stack]<br>
<br>
</div></blockquote>
<br>
Either this:<br>
<br>
set s1 [Stack new]<br>
<br>
or<br>
<br>
set s1 [Stack s1]<br>
<br>
The first version gives you an automatically named object, which is probably what you usually want to do. You can also explicitly name objects with the latter version (something you cannot do with Java and stuff). Mostly you wont need to do this, but there are situations when it&#39;s useful.<br>

<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; / <a href="http://www.scred.com/" target="_blank">http://www.scred.com/</a><br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; / <a href="http://www.fishpool.com/%7Esetok/" target="_blank">http://www.fishpool.com/~setok/</a><br>
<br>
<br>
</blockquote></div><br>