[Laszlo-dev] Adding "ignore" arguments....

André Bargull a.bargull at intensis.de
Sat May 3 07:12:57 PDT 2008


We're adding an "ignore"-argument all over the place, so that our 
event-system works in swf9.
This a really cumbersome work and some of these warnings don't really 
help you:
> WARNING @lz/gridcolumn.lzx#90: Invalid delegate: «LzCursorService 
> function(0)#0| kernel/swf/LzMouseKernel.as#59/21» (must accept one 
> argument to handle .resizer.onmouseout)

This warning was triggered by "LzSprite#setCursor(..)" (swf), because 
there is this delegate:
> this._muDel = new LzDelegate( LzMouseKernel , 'restoreCursor', 
> this.owner , 'onmouseout');
And as "LzMouseKernel#restoreCursor()" does expect an argument (why 
should it!?), you get this warning.

If we followed our current practice, we would add an "ignore"-argument 
to "LzMouseKernel#restoreCursor()". But that's not really convincing, to 
change a semi-public API (see LzCursor) just to get around this. Also 
think about user applications, which may have a delegate to i.e. 
"LzFocus#clearFocus()". They'll get a warning, because the LzFocus-API 
is not compatible to the event-API. So, do we need to change the public 
"LzFocus#clearFocus()" API because of this? Surely  not!

Therefore, I'd like to propose:
- either do the function wrapping in "LzDelegate#register(..)" in swf9 
automatically, but without any warnings (but consider possible 
performance disadvantages!)
- or add at compile to every function without any arguments a default 
"ignore"-argument, so that it is compatible to our event-system.

Thoughts?


More information about the Laszlo-dev mailing list