To debug this, you can actually look at the intermediate actionscript  code
which the
compiler emitted, it will still be in those tmp files that it is printing
out.

The code in the file in LzNode applyConstraintMethod corresponds to this
line of code

      for (var i = 0, l = dependencies.length; i < l; i += 2) {
        dp = dependencies[i];
        if (dp) {
===>      var d = new LzDelegate(this, constraintMethodName, dp, "on" +
dependencies[i + 1]);
          this.__LZdelegates.push(d);
        }
      }

And I bet the issue is that you have a constraint expression in the
app, which is constraining a value of some object which is not an
LzEventable.

The signature of LzDelegate is
    public function LzDelegate (context:LzEventable, methodName:String,
eventSender:LzEventable = null, eventName:String = null) {

So both the target and the event source need to be LzEventable.

If you write a constraint that constrains to a value on an object that's
does not obey the
LzEventable protocol, then the system constructs a delegate that tries to
register to
get an event when the value changes, but it can't construct that delegate.

For example if you said

<myfoo bar="${some_non_node.foo + 1} ...>

And "some_non_node" is an object that isn't an LzNode  ( or to be more
exact,  is not a subclass of LzEventable)
then when that constraint gets installed, it will get the error you're
seeing.

So check all you constraints and see if you're constraining to
something that isn't an LzEventable.

There are some things in the LFC which are NOT LzEventable, and we need to
make the
compiler warn you somehow...

Reply via email to