<canvas width="100%" height="80%" debug="true">
  <debug  fontsize="12"/>
  <checkbox id="bar">Hello Whirled</checkbox>

</canvas>


Gets error in debugger

ERROR: No eventSender (null) for on_enabled
lzx> Debug.inspect(«LzError#0| ERROR: No eventSender (null) ...»)
«LzError#0| ERROR: No eventSender (null) for on_enabled» {
backtrace: «LzBacktrace(17)#2| LzSourceMessage <- LzError <- Function.make <- LzSourceMessage.format <-...»
file: null
line: null
message: «LzMessage#1(36)#3| "No eventSender (null) for on_enabled"»
}«LzError#0| ERROR: No eventSender (null) for on_enabled»
lzx> Debug.inspect(«LzBacktrace(17)#2| LzSourceMessage <- Lz...»)
«LzBacktrace(17)#2| LzSourceMessage <- LzError <- Function.make <- LzSourceMessage.format <-...» {
length: 17
  0: «__LzStackFrame#8| LzEvent.sendEvent.apply(#LzIdle.onidle, [914])»
  1: «__LzStackFrame#12| LzInstantiator.checkQ.apply(#LzInstantiator, [914])»
  2: «__LzStackFrame#15| LzInstantiator.makeSomeViews.apply (#LzInstantiator, [, 500])»
  3: «__LzStackFrame#20| LzCanvas.__LZinstantiationDone.apply(«LzCanvas#18#17| This is the canvas», [])»
  4: «__LzStackFrame#23| LzCanvas.okToInit.apply(«LzCanvas#18#17| This is the canvas», [])»
  5: «__LzStackFrame#26| LzCanvas.__LZcallInit.apply(«LzCanvas#18#17| This is the canvas», [])»
  6: «__LzStackFrame#30| LzNode.__LZcallInit.apply(#bar, [])»
  7: «__LzStackFrame#33| LzNode.__LZresolveReferences.apply(#bar, [])»
  8: «__LzStackFrame#36| LzNode.__LZresolveRefs.apply(#bar, [[object Object]])»
  9: «__LzStackFrame#39| LzNode.applyConstraint.apply(#bar, [_enabled, [type Function], checkbox  id: bar ,enabled,checkbox  id: bar ,_parentcomponent,null,_enabled])»
 10: «__LzStackFrame#43| LzDelegate.register.apply(#bar.$cf0(), [null, on_enabled])»
 11: «__LzStackFrame#47| Debug.error.apply(#Debug, [No eventSender (%w) for %s, null, on_enabled])»
 12: «__LzStackFrame#50| Debug.warnInternal.apply(#Debug, [[type Function], No eventSender (%w) for %s, null, on_enabled])»
 13: «__LzStackFrame#54| LzSourceMessage.format.apply(LzError, [null, null, No eventSender (%w) for %s, null, on_enabled])»
 14: «__LzStackFrame#57| Function.make.apply(LzError, [null, null, No eventSender (null) for on_enabled])»
 15: «__LzStackFrame#59| LzError.apply(«LzError#0| ERROR: No eventSender (null) for on_enabled», [null, null, No eventSender (null) for on_enabled])»
 16: «__LzStackFrame#62| LzSourceMessage.apply(«LzError#0| ERROR: No eventSender (null) for on_enabled», [null, null, No eventSender (null) for on_enabled])»
}«LzBacktrace(17)#2| LzSourceMessage <- LzError <- Function.make <- LzSourceMessage.format <-...»
lzx>



In basecomponent.lzx, there is this declaration

        <event name="on_enabled"/>


The code in  the compiler NodeModel.java emits a "$immediately{null}" as the init value for a "event" attribute. I am wondering
if it should be initialized to the same sentinel object that DeclareEvent uses ?


    void addPropertyElement(Element element) {
        String tagName = element.getName();
        if (tagName.equals("method")) {
            addMethodElement(element);
        } else if (tagName.equals("handler")) {
            addHandlerElement(element);
        } else if (tagName.equals("event")) {
          // needed to prevent interpretation as an event handler for
          // schema-defined events -- setting the value to immediate
          // null is enough to do that
          // TODO: [2006-01-29 ptw] This mechanism is a little
          // fragile: right now ${} trumps any type, which is why this
          // works; but that could easily break if we enforce
          // types...
          element.setAttribute("value", "$immediately{null}");
          addAttributeElement(element);
        } else if (tagName.equals("attribute")) {
            addAttributeElement(element);
        }
    }



--
Henry Minsky
Software Architect
[EMAIL PROTECTED]

_______________________________________________
Laszlo-dev mailing list
[email protected]
http://www.openlaszlo.org/mailman/listinfo/laszlo-dev

Reply via email to