Because `construct` is called from the class constructor, before the
instance properties are evaluated. This is perhaps poorly explained
as "before any arguments have been applied". In other words, when
`construct` is called, your node instance has not yet been
constructed enough to have your overriding construct method attached
to it. You have found a small loophole in the instance/class
parallelism.
If you want to know when the class constructor is done,
`onconstruct`, interestingly is sent " right at the end of the
instantiation process" (not when the `construct` method is called.
On 23 Nov 2005, at 16:18, Jim Grandy wrote:
Why don't I see "construct node" in the debugger output of the
following LZX program?
<canvas debug="true">
<node>
<method name="construct" args="p,a">
Debug.write("construct node");
super.construct(p,a);
</method>
<method name="init">
Debug.write("init node");
super.init();
</method>
</node>
<class name="cnode" extends="node">
<method name="construct" args="p,a">
Debug.write("construct cnode");
super.construct(p,a);
</method>
<method name="init">
Debug.write("init cnode");
super.init();
</method>
</class>
<cnode/>
</canvas>
Output:
construct cnode
init node
init cnode
_______________________________________________
Laszlo-user mailing list
[email protected]
http://www.openlaszlo.org/mailman/listinfo/laszlo-user
_______________________________________________
Laszlo-user mailing list
[email protected]
http://www.openlaszlo.org/mailman/listinfo/laszlo-user