Interesting.  I wonder if @Greg Dove<mailto:[email protected]> has time to 
look at this.  He’s been through more of these scenarios than I have.

-Alex

From: Nicolas Aguttes <[email protected]>
Reply-To: "[email protected]" <[email protected]>
Date: Sunday, May 17, 2020 at 10:24 PM
To: "[email protected]" <[email protected]>
Subject: Re: Binding question/issue

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]<mailto:[email protected]>> a écrit :
What value is undefined?  Is there a call stack or error message?

-Alex

From: Nicolas Aguttes 
<[email protected]<mailto:[email protected]>>
Reply-To: "[email protected]<mailto:[email protected]>" 
<[email protected]<mailto:[email protected]>>
Date: Sunday, May 17, 2020 at 10:09 PM
To: "[email protected]<mailto:[email protected]>" 
<[email protected]<mailto:[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]<mailto:[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]<mailto:[email protected]>>
Reply-To: "[email protected]<mailto:[email protected]>" 
<[email protected]<mailto:[email protected]>>
Date: Saturday, May 16, 2020 at 10:31 PM
To: "[email protected]<mailto:[email protected]>" 
<[email protected]<mailto:[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%7Cd8292b47cbce4e9a43dd08d7faebb4c9%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637253762585784536&sdata=rY%2FtBqtESSzILnb8vKKQ7XohtewpADjueQVDMurKefY%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%7Cd8292b47cbce4e9a43dd08d7faebb4c9%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637253762585784536&sdata=G5FMdi9DDlnqJIgV6%2Bq79w1cTXvzb1EtRU61kP1i2L4%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%7Cd8292b47cbce4e9a43dd08d7faebb4c9%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637253762585794533&sdata=OxCg4iBHlCQpr78KUOJv4ZGY1RE0BX2X3JgBcAWevmA%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%7Cd8292b47cbce4e9a43dd08d7faebb4c9%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637253762585794533&sdata=o8T1Cs9bk89ZAKbQW0wMgE0ZzhGvh%2FHRdAJzZNikA9A%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%7Cd8292b47cbce4e9a43dd08d7faebb4c9%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637253762585804525&sdata=AGNrZWgALrKCW%2BMInEGRivghDMQh4xDbCipQcP7qkTQ%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%7Cd8292b47cbce4e9a43dd08d7faebb4c9%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637253762585804525&sdata=Dt8um9O7Ctjj2wrwRZZZ%2F%2B0R7M3Pb5BSJC3g6vwyyCg%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%7Cd8292b47cbce4e9a43dd08d7faebb4c9%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637253762585814519&sdata=wUZ30EOa7ZhHO0K2qwK6O%2BW4FJPEA4fFxeu9Fk7mDRo%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%7Cd8292b47cbce4e9a43dd08d7faebb4c9%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637253762585814519&sdata=%2BOE5Et7Kh5M%2BMlIdEpo0DKVoE1uMEbwyPUDW2NaeTBo%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