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