Hi Alex, fixed in my latest commit, not JS and SWF works ok. Things look better at daylight ;). Only JS side need to improve applicationModel to be getter/setter.
I change SimpleBinding fix to try catch as you suggested. Best, Carlos 2013/5/3 Alex Harui <aha...@adobe.com> > Hi Carlos, > > I don't think the change to ViewBase.as was correct. The applicationModel > property should be a getter. It looks like you reverted to a var. > > See if that fixes the SWF situation. > > -Alex > > On 5/2/13 6:17 PM, "Carlos Rovira" <carlos.rov...@codeoscopic.com> wrote: > > > Alex, > > > > I shared a branch with some changes "feature/applicationModel_refactor". > > > > applicationModel is the variable that makes createjs sample fail with the > > change in simplebinding. I refactor to the way you show (hopefuly). > > > > In the JS version all is working right. But now SWF compilations fails in > > runtime for both, _again and createjs sample (in different ways). > > > > Could you take a look and see if this refactor is in the way you > > commented?. I'll take a look tomorrow and see why SWFs are failing. > > > > > > > > 2013/5/3 Carlos Rovira <carlos.rov...@codeoscopic.com> > > > >> Hi Alex, > >> > >> now I understand the problem. I was not aware of @expose and what you > >> comment here. Very important information. Tomorrow I'll go back to the > >> sample and see if I can change the sample to get working with that style > >> and remove this fix since I think it's better to force people to make > >> things in the good way. > >> > >> > >> > >> 2013/5/2 Alex Harui <aha...@adobe.com> > >> > >>> Hi Carlos, > >>> > >>> I saw the changes. > >>> > >>> I think it is a good fix, but you might want to add a comment that the > >>> non-getter approach is likely to fail for non-public variables when > >>> minified. > >>> > >>> Right now, binding in FlexJS only works for public properties and your > fix > >>> makes it work for public variables. Note that in some cases, the > backing > >>> variable for a public get/set is the same name because in JS the > pattern > >>> looks like: > >>> > >>> /** @private */ > >>> var foo; > >>> > >>> /** @expose */ > >>> function get_foo() > >>> { > >>> return this.foo; > >>> } > >>> > >>> The question is, what did the AS look like? If it looked like > >>> > >>> private var _foo; > >>> public function get foo() > >>> { > >>> return this._foo; > >>> } > >>> > >>> Then the JS code for your failure case should be changed to look like > the > >>> recommended pattern and then you don't need the [this.sourceID] code > path > >>> as > >>> there will be a get_ function. > >>> > >>> If the AS looked like: > >>> > >>> public var foo; > >>> > >>> Then the JS should be > >>> > >>> /** @expose */ > >>> Someclass.prototype.foo; > >>> > >>> If they forget to use @expose then it will likely fail when minified. > >>> > >>> One more minor thing: Do you happen to know if try/catch is more > >>> efficient > >>> than doing a property lookup to see if it is undefined before making a > >>> call? > >>> > >>> Anyway, thanks for contributing. We can use all the help we can get. > >>> > >>> > >>> On 5/2/13 2:35 PM, "Carlos Rovira" <carlos.rov...@codeoscopic.com> > wrote: > >>> > >>>> Hi Alex, > >>>> > >>>> I commit a solution that fixes the problem, but I don't know if is > >>>> compliant with the motivation you make this change (minified version). > >>>> > >>>> I think binding should work even if we don't have a getter/setter > setup, > >>>> but I'm to new to this new framework that maybe this is not what you > >>> have > >>>> in mind. > >>>> > >>>> So it's up to you to change if you see some problem with this fix. > >>>> > >>>> > >>>> 2013/5/2 Alex Harui <aha...@adobe.com> > >>>> > >>>>> > >>>>> > >>>>> > >>>>> On 5/1/13 3:40 PM, "Carlos Rovira" <carlos.rov...@codeoscopic.com> > >>> wrote: > >>>>> > >>>>>> Hi Alex > >>>>>> > >>>>>> this latest change in SimpleBinding: > >>>>>> > >>>>>> - this.source = this.document[this.sourceID]; > >>>>>> + this.source = this.document['get_' + this.sourceID](); > >>>>>> > >>>>>> > >>>>>> Makes the createjs sample to not generate controls far beyond a > >>>>>> SimpleBinding. > >>>>>> > >>>>>> I need to change the sample code or it's a bug? > >>>>> Well, using getters is correct. Are you binding to something that > >>> isn't a > >>>>> getter in AS? Maybe the JS version of that property should have > been a > >>>>> get/set pair. > >>>>> > >>>>> But if you want, you can also try to make SimpleBinding tolerant and > >>> find > >>>>> things that aren't getters. > >>>>>> > >>>>>> Thanks > >>>>> > >>>>> -- > >>>>> Alex Harui > >>>>> Flex SDK Team > >>>>> Adobe Systems, Inc. > >>>>> http://blogs.adobe.com/aharui > >>>>> > >>>>> > >>>> > >>> > >>> -- > >>> Alex Harui > >>> Flex SDK Team > >>> Adobe Systems, Inc. > >>> http://blogs.adobe.com/aharui > >>> > >>> > >> > >> > >> -- > >> Carlos Rovira > >> Director de TecnologĂa > >> M: +34 607 22 60 05 > >> F: +34 912 94 80 80 > >> http://www.codeoscopic.com > >> http://www.directwriter.es > >> http://www.avant2.es > >> > > > > > > -- > Alex Harui > Flex SDK Team > Adobe Systems, Inc. > http://blogs.adobe.com/aharui > > -- Carlos Rovira Director de TecnologĂa M: +34 607 22 60 05 F: +34 912 94 80 80 http://www.codeoscopic.com http://www.directwriter.es http://www.avant2.es