Hello Alex,

this is the {MAX_CHARS_NOM} in my TextInput which is undefined and yes
there is an error


TypeError: this.dispatcher is undefinedSimpleBinding.js:228:3
    set__strand
file:///Users/nicolasA/Documents/dev/ApacheRoyale/TestBinding/bin/js-debug/org/apache/royale/binding/SimpleBinding.js
:228
    addBead
file:///Users/nicolasA/Documents/dev/ApacheRoyale/TestBinding/bin/js-debug/org/apache/royale/core/ElementWrapper.js
:120
    addBead
file:///Users/nicolasA/Documents/dev/ApacheRoyale/TestBinding/bin/js-debug/org/apache/royale/core/HTMLElementWrapper.js
:50
    addBead
file:///Users/nicolasA/Documents/dev/ApacheRoyale/TestBinding/bin/js-debug/org/apache/royale/core/UIBase.js
:378
    prepareCreatedBinding
file:///Users/nicolasA/Documents/dev/ApacheRoyale/TestBinding/bin/js-debug/org/apache/royale/binding/DataBindingBase.js
:79
    initBindingsHandler
file:///Users/nicolasA/Documents/dev/ApacheRoyale/TestBinding/bin/js-debug/org/apache/royale/binding/ViewDataBinding.js
:82
    <anonyme> self-hosted:844
    fireListeners
file:///Users/nicolasA/Documents/dev/ApacheRoyale/TestBinding/bin/js-debug/org/apache/royale/events/EventDispatcher.js
:117
    dispatchEventInternal_
file:///Users/nicolasA/Documents/dev/ApacheRoyale/TestBinding/bin/js-debug/library/closure/goog/events/eventtarget.js
:382
    dispatchEvent
file:///Users/nicolasA/Documents/dev/ApacheRoyale/TestBinding/bin/js-debug/org/apache/royale/events/EventDispatcher.js
:80
    dispatchEvent
file:///Users/nicolasA/Documents/dev/ApacheRoyale/TestBinding/bin/js-debug/org/apache/royale/core/ElementWrapper.js
:243
    addedToParent
file:///Users/nicolasA/Documents/dev/ApacheRoyale/TestBinding/bin/js-debug/org/apache/royale/jewel/View.js
:70
    addElement
file:///Users/nicolasA/Documents/dev/ApacheRoyale/TestBinding/bin/js-debug/org/apache/royale/core/UIBase.js
:405
    addElement
file:///Users/nicolasA/Documents/dev/ApacheRoyale/TestBinding/bin/js-debug/org/apache/royale/core/GroupBase.js
:165
    initializeStrandBasedObject
file:///Users/nicolasA/Documents/dev/ApacheRoyale/TestBinding/bin/js-debug/org/apache/royale/utils/MXMLDataInterpreter.js
:241
    generateMXMLArray
file:///Users/nicolasA/Documents/dev/ApacheRoyale/TestBinding/bin/js-debug/org/apache/royale/utils/MXMLDataInterpreter.js
:127
    generateMXMLInstances
file:///Users/nicolasA/Documents/dev/ApacheRoyale/TestBinding/bin/js-debug/org/apache/royale/utils/MXMLDataInterpreter.js
:271
    addedToParent
file:///Users/nicolasA/Documents/dev/ApacheRoyale/TestBinding/bin/js-debug/org/apache/royale/jewel/View.js
:69
    addElement
file:///Users/nicolasA/Documents/dev/ApacheRoyale/TestBinding/bin/js-debug/org/apache/royale/core/UIBase.js
:405
    addElement
file:///Users/nicolasA/Documents/dev/ApacheRoyale/TestBinding/bin/js-debug/org/apache/royale/core/GroupBase.js
:165
    initializeStrandBasedObject
file:///Users/nicolasA/Documents/dev/ApacheRoyale/TestBinding/bin/js-debug/org/apache/royale/utils/MXMLDataInterpreter.js
:241
    generateMXMLArray
file:///Users/nicolasA/Documents/dev/ApacheRoyale/TestBinding/bin/js-debug/org/apache/royale/utils/MXMLDataInterpreter.js
:127
    generateMXMLInstances
file:///Users/nicolasA/Documents/dev/ApacheRoyale/TestBinding/bin/js-debug/org/apache/royale/utils/MXMLDataInterpreter.js
:271
    addedToParent
file:///Users/nicolasA/Documents/dev/ApacheRoyale/TestBinding/bin/js-debug/org/apache/royale/jewel/View.js
:69
    addElement
file:///Users/nicolasA/Documents/dev/ApacheRoyale/TestBinding/bin/js-debug/org/apache/royale/jewel/Application.js
:144
    initialize
file:///Users/nicolasA/Documents/dev/ApacheRoyale/TestBinding/bin/js-debug/org/apache/royale/jewel/Application.js
:295
    start
file:///Users/nicolasA/Documents/dev/ApacheRoyale/TestBinding/bin/js-debug/org/apache/royale/jewel/Application.js
:264
    <anonyme>
file:///Users/nicolasA/Documents/dev/ApacheRoyale/TestBinding/bin/js-debug/TestBinding.html
:155

Le lun. 18 mai 2020 à 07:17, Alex Harui <[email protected]> a écrit :

> What value is undefined?  Is there a call stack or error message?
>
>
>
> -Alex
>
>
>
> *From: *Nicolas Aguttes <[email protected]>
> *Reply-To: *"[email protected]" <[email protected]>
> *Date: *Sunday, May 17, 2020 at 10:09 PM
> *To: *"[email protected]" <[email protected]>
> *Subject: *Re: Binding question/issue
>
>
>
> Hello Alex,
>
> Thanks for your reply, I tried what you suggested and added addBead(new
> ContainerDataBinding()) to the constructor, I also tried to add to the
> Ecran1.mxml the
> <j:beads>
> <js:ContainerDataBinding/>
> </j:beads>
>
> And read the different example provided Carlos and tried to mimic them,but
> I still get an undefined
> value when I execute the application.
>
>
>
> Le dim. 17 mai 2020 à 08:19, Alex Harui <[email protected]> a écrit :
>
> Hi Nicolas,
>
>
>
> Looks like you are using the Jewel component set, so you may need to add
> ContainerDataBinding to the screens.  Different MXML files can have
> different binding implementation for performance reasons and there may not
> be one specified by default for PAYG reasons.
>
>
>
> You can do that by adding the ContainerDataBinding bead to the MXML files
> for screens where you have binding expressions in the same way you added
> ApplicationDataBinding to the main app, or if Ecran1Class is only used as
> the top tag in an MXML file, then it should be safe to just add the
> ContainerDataBinding bead in the Ecran1Class constructor.
>
>
>
> public function Ecran1Class()
> {
> super();
>
> addBead(new ContainerDataBinding());
> }
> }
>
>
>
> HTH,
>
> -Alex
>
>
>
> *From: *Nicolas Aguttes <[email protected]>
> *Reply-To: *"[email protected]" <[email protected]>
> *Date: *Saturday, May 16, 2020 at 10:31 PM
> *To: *"[email protected]" <[email protected]>
> *Subject: *Binding question/issue
>
>
>
> Good morning all.
> I am new to Apache Royale and I don't know how to make binding work
> I have my main program which call some screens (ecrans.*)
> each screen has its applicationScript where I define some constant that I
> would link to bind to the view, it compiles, but the binding doesn't work
> and shows undefine value.
> I tried with differetn combination of
>  <j:beads>
>         <js:nnnnDataBinding/>
>     </j:beads>
> but without success.
>
> Can someone tell we what I am doing wrong?
> Thanks
> Nicolas
>
> Here is a non working extract of my code
> ----- Main ----
> <?xml version="1.0" encoding="utf-8"?>
> <j:Application
> xmlns:fx="http://ns.adobe.com/mxml/2009
> <https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fns.adobe.com%2Fmxml%2F2009&data=02%7C01%7Caharui%40adobe.com%7C8e8abc114a8d43681f6a08d7fae9afd9%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637253753915541661&sdata=tfcXjw6xKq0wD1ZYCH9ZhARdj5R0MuMtqamW8gB8FmE%3D&reserved=0>"
>
> xmlns:ecrans="ecrans.*"
> xmlns:j="library://ns.apache.org/royale/jewel
> <https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fns.apache.org%2Froyale%2Fjewel&data=02%7C01%7Caharui%40adobe.com%7C8e8abc114a8d43681f6a08d7fae9afd9%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637253753915546652&sdata=V%2Bcaft%2FU2YCYs1AS0xPlarDjo2IezuZK8HpsozkpocI%3D&reserved=0>
> "
> xmlns:js="library://ns.apache.org/royale/basic
> <https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fns.apache.org%2Froyale%2Fbasic&data=02%7C01%7Caharui%40adobe.com%7C8e8abc114a8d43681f6a08d7fae9afd9%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637253753915551639&sdata=B7QjVUtCQU5ujMYywbC7mftwMYd1ESJcN%2FkhI1V2Wx8%3D&reserved=0>
> "
> xmlns:html="library://ns.apache.org/royale/html
> <https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fns.apache.org%2Froyale%2Fhtml&data=02%7C01%7Caharui%40adobe.com%7C8e8abc114a8d43681f6a08d7fae9afd9%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637253753915556631&sdata=kQOePunBQioTXAOt82eS0WPcZc0%2B03PEVvjv57%2FI8mg%3D&reserved=0>
> "
> width="100%"
> height="100%">
>    <j:beads>
>         <js:ApplicationDataBinding/>
>     </j:beads>
> <j:initialView>
>    <j:View id="vuePrincipale" width="100%" height="100%">
> <j:View id="EcranBox" width="100%" height="100%">
> <ecrans:Ecran1 id="Ecran1" />
>     </j:View>
>
> </j:View>
> </j:initialView>
> </j:Application>
>
> ----- Scren 1 .mxml  ------
> <?xml version="1.0" encoding="utf-8"?>
> <ecrans:Ecran1Class
> xmlns:fx="http://ns.adobe.com/mxml/2009
> <https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fns.adobe.com%2Fmxml%2F2009&data=02%7C01%7Caharui%40adobe.com%7C8e8abc114a8d43681f6a08d7fae9afd9%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637253753915561622&sdata=EbqCQaeSvYeBnRv8ReIrXNGjkROBzOd%2BpfRMo6Zdk9w%3D&reserved=0>
> "
> xmlns:ecrans = "ecrans.*"
> xmlns:j="library://ns.apache.org/royale/jewel
> <https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fns.apache.org%2Froyale%2Fjewel&data=02%7C01%7Caharui%40adobe.com%7C8e8abc114a8d43681f6a08d7fae9afd9%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637253753915566613&sdata=W5IAF2ELBv01Snp%2BpNzmeljjPgnoBW%2Fbxrtw2%2F5iPIo%3D&reserved=0>
> "
> xmlns:html="library://ns.apache.org/royale/html
> <https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fns.apache.org%2Froyale%2Fhtml&data=02%7C01%7Caharui%40adobe.com%7C8e8abc114a8d43681f6a08d7fae9afd9%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637253753915571604&sdata=Y4MSUUSNe7ERh9FnsEhGrfMZ4Xj%2F8YDjT82sR1W53xo%3D&reserved=0>
> "
> xmlns:js="library://ns.apache.org/royale/basic
> <https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fns.apache.org%2Froyale%2Fbasic&data=02%7C01%7Caharui%40adobe.com%7C8e8abc114a8d43681f6a08d7fae9afd9%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637253753915576595&sdata=%2BXCkXzIbLT97VqKsBQaKwqJDq8n8wx2LKnPUoXw49EE%3D&reserved=0>
> "
>     >
> <j:Form width="100%" height="100%" id="searchForm"  >
>
> <j:FormItem  id="labelNom"  label="nom :" width="100%" >
> <j:TextInput id="nom" >
> <j:beads>
> <j:MaxNumberCharacters maxlength="{MAX_CHARS_NOM}" />
> </j:beads>
> </j:TextInput>
> </j:FormItem>
> </j:Form>
> </ecrans:Ecran1Class>
>
>
> ----- screen 1 .as  --------
> package ecrans
> {
> import org.apache.royale.jewel.View;
>
> public class Ecran1Class extends View
> {
> // Proprietes
> [Bindable] public static const MAX_CHARS_NOM:int = 50;
>
> // Constructeur
> public function Ecran1Class()
> {
> super();
> }
> }
>
>

Reply via email to