I guess since constraint methods don't need to call super(), it would be OK for them to be closures. But what about their dependency function/method? Does that also need to be a closure instead of a method? Or is that<br>
already just a closure? <br><br><div class="gmail_quote">On Mon, Mar 31, 2008 at 8:12 AM, P T Withington <<a href="mailto:ptw@pobox.com">ptw@pobox.com</a>> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
This is because there is a constraint in the base class and then in the instance we are trying to install a new constraint. Either we need to bite the bullet and make instances be classes now, or maybe we should back off and not make the constraint methods be methods, just leave them as closures so they can be 'overridden' in instances by setting (rather than subclassing). I'm trying to think what the most expedient change would be...<div>
<div></div><div class="Wj3C7c"><br>
<br>
On 2008-03-30, at 22:03 EDT, Henry Minsky wrote:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
In my checkbox example, when I run it, it gets an error here , about trying<br>
to set a property on an node which<br>
is the name of an existing method:<br>
<br>
<br>
ReferenceError: Error #1037: Cannot assign to a method $lzc$bind_reference<br>
on .$lzc$class_multistatebutton.<br>
at LzNode/addProperty()[/private/tmp/lzswf9/lzgen35129/LzNode.as:6]<br>
at LzNode()[/private/tmp/lzswf9/lzgen35129/LzNode.as:60]<br>
at LzView()[/private/tmp/lzswf9/lzgen35129/LzView.as:6]<br>
at $lzc$class_basecomponent()[/private/tmp/lzswf9/lzgen15637/$lzc$<br>
<a href="http://class_basecomponent.as:260" target="_blank">class_basecomponent.as:260</a>]<br>
at $lzc$class_basebutton()[/private/tmp/lzswf9/lzgen15637/$lzc$<br>
<a href="http://class_basebutton.as:153" target="_blank">class_basebutton.as:153</a>]<br>
at $lzc$class_multistatebutton()[/private/tmp/lzswf9/lzgen15637/$lzc$<br>
<a href="http://class_multistatebutton.as:67" target="_blank">class_multistatebutton.as:67</a>]<br>
at LzNode/makeChild()[/private/tmp/lzswf9/lzgen35129/LzNode.as:393]<br>
at<br>
LzInstantiatorClass/makeSomeViews()[/private/tmp/lzswf9/lzgen35129/LzInstantiatorClass.as:106]<br>
at<br>
LzInstantiatorClass/checkQ()[/private/tmp/lzswf9/lzgen35129/LzInstantiatorClass.as:79]<br>
at LzEvent/sendEvent()[/private/tmp/lzswf9/lzgen35129/LzEvent.as:50]<br>
at<br>
LFCApplication/__idleupdate()[/private/tmp/lzswf9/lzgen35129/LFCApplication.as:179]<br>
at<br>
LzIdleKernel$/__update()[/private/tmp/lzswf9/lzgen35129/LzIdleKernel.as:26]<br>
at Function/<a href="http://adobe.com/AS3/2006/builtin::apply%28%29" target="_blank">http://adobe.com/AS3/2006/builtin::apply()</a><br>
at <anonymous>()<br>
at SetIntervalTimer/onTimer()<br>
at flash.utils::Timer/_timerDispatch()<br>
at flash.utils::Timer/tick()<br>
<br>
<br>
<br>
or, another view of the stack trace from fdb :<br>
[SWF] private:tmp:lzswf9:lzgen15637:app.swf - 198,974 bytes after<br>
decompression<br>
(fdb) c<br>
[trace] idle timer period = 14 msecs<br>
[trace] LzCanvas.init called<br>
[trace] dummy LzBrowser getInitArg declared in core/dummyclasses.js<br>
[Fault] exception, information=ReferenceError: Error #1037: Cannot assign to<br>
a method $lzc$bind_reference on .$lzc$class_multistatebutton.<br>
Fault, addProperty() at LzNode.as:6<br>
6 this[key] = val<br>
(fdb)<br>
(fdb) bt<br>
#0 this = [Object 28590241,<br>
class='$lzc$class_multistatebutton'].LzNode/addProperty(key="$lzc$bind_reference",<br>
val=[Function 28678033, name='Function-701']) at LzNode.as:6<br>
#1 this = [Object 28590241,<br>
class='$lzc$class_multistatebutton'].LzNode(parent=[Object 28616785,<br>
class='$lzc$class_checkbox'], attrs=[Object 28686545, class='Object'],<br>
children=null, instcall=true) at LzNode.as:60<br>
#2 this = [Object 28590241,<br>
class='$lzc$class_multistatebutton'].LzView(parent=[Object 28616785,<br>
class='$lzc$class_checkbox'], attrs=[Object 28686545, class='Object'],<br>
children=null, instcall=true) at LzView.as:6<br>
#3 this = [Object 28590241,<br>
class='$lzc$class_multistatebutton'].$lzc$class_basecomponent(parent=[Object<br>
28616785, class='$lzc$class_checkbox'], attrs=[Object 28686545,<br>
class='Object'], children=null, async=true) at $lzc$<br>
<a href="http://class_basecomponent.as:260" target="_blank">class_basecomponent.as:260</a><br>
#4 this = [Object 28590241,<br>
class='$lzc$class_multistatebutton'].$lzc$class_basebutton(parent=[Object<br>
28616785, class='$lzc$class_checkbox'], attrs=[Object 28686545,<br>
class='Object'], children=null, async=true) at $lzc$<a href="http://class_basebutton.as:153" target="_blank">class_basebutton.as:153</a><br>
#5 this = [Object 28590241,<br>
class='$lzc$class_multistatebutton'].$lzc$class_multistatebutton(parent=[Object<br>
28616785, class='$lzc$class_checkbox'], attrs=[Object 28686545,<br>
class='Object'], children=null, async=true) at $lzc$<br>
<a href="http://class_multistatebutton.as:67" target="_blank">class_multistatebutton.as:67</a><br>
#6 this = [Object 28616785,<br>
class='$lzc$class_checkbox'].LzNode/makeChild(e=[Object 28686585,<br>
class='Object'], async=true) at LzNode.as:393<br>
#7 this = [Object 28148545,<br>
class='LzInstantiatorClass'].LzInstantiatorClass/makeSomeViews(cq=[Object<br>
28178297, class='Array'], otime=500 (0x1f4)) at LzInstantiatorClass.as:106<br>
#8 this = [Object 28148545,<br>
class='LzInstantiatorClass'].LzInstantiatorClass/checkQ(ignoreme=2060<br>
(0x80c)) at LzInstantiatorClass.as:79<br>
#9 this = [Object 28558689, class='LzEvent'].LzEvent/sendEvent(sd=2060<br>
(0x80c)) at LzEvent.as:50<br>
#10 this = [Object 27856001,<br>
class='LzApplication'].LFCApplication/__idleupdate(etime=2060 (0x80c)) at<br>
LFCApplication.as:179<br>
#11 this = [Object 28541857,<br>
class='LzIdleKernel$'].LzIdleKernel$/__update() at LzIdleKernel.as:26<br>
<br>
(fdb)<br>
<br>
<br>
<br>
<br>
-- <br>
Henry Minsky<br>
Software Architect<br>
<a href="mailto:hminsky@laszlosystems.com" target="_blank">hminsky@laszlosystems.com</a><br>
</blockquote>
<br>
</div></div></blockquote></div><br><br clear="all"><br>-- <br>Henry Minsky<br>Software Architect<br><a href="mailto:hminsky@laszlosystems.com">hminsky@laszlosystems.com</a><br><br>