Hello in my different tries I put [Bindable] in front of my constant
[Bindable] public static const MAX_CHARS_NOM:int = 50;
And the error stack disappears when I remove the [Bindable] but it doesn't
solve my issue as the <j:MaxNumberCharacters maxlength="{MAX_CHARS_NOM}" />
still shows an undefined valueNicolas Le lun. 18 mai 2020 à 07:32, Alex Harui <[email protected]> a écrit : > Interesting. I wonder if @Greg Dove <[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]> 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%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(); > } > } > >
