Classname isn't a private variable - anyone could find it by exploring in the debugger. Can we deprecate before we remove it? Also, having a classname on the instance sounds useful to me...

-Max

P T Withington wrote:
Ah. classname is no longer in the instance. It needs to be replaced with constructor.classname. I did this in the LFC, but I guess it did not occur to me that this was used externally to the LFC. What exactly is grid trying to do? (That is, perhaps there is a better way than using classname.)

I think it is an error that there is a classname on the instance. I'll remove that.

On 2006-10-24, at 17:22 EDT, Philip Romanik wrote:

Hi Tucker,

I tracked down a grid problem involving the classname variable in LzNode. In legals, classname is always 'Object' (see Class.lzs). In trunk classname is the correct classname. Here's some code that shows classname is wrong. At first I thought this was an initialization issue, but the classname never changes.

Phil



<canvas>

    <view name="view">
      <method name="init">
        super.init();
        Debug.write("view::init", this.classname);
      </method>
      <method event="oninit">
        Debug.write("view::oninit", this.classname);
      </method>
    </view>

    <class name="testclass" extends="text">
        <method name="init">
          super.init();
          Debug.write("testclass::init", this.classname);
        </method>

        <view name="nested_view">
          <method name="init">
            super.init();
            Debug.write("nested_view::init", this.classname);
          </method>
          <method event="oninit">
            Debug.write("nested_view::oninit called", this.classname);
          </method>
        </view>
    </class>

  <testclass/>

</canvas>



Reply via email to