Yeah, I didn't get any console output

Alex Harui
Flex SDK Developer
Adobe Systems Inc.<http://www.adobe.com/>
Blog: http://blogs.adobe.com/aharui

From: [email protected] [mailto:[email protected]] On Behalf 
Of valdhor
Sent: Tuesday, May 12, 2009 10:24 AM
To: [email protected]
Subject: [flexcoders] Re: using "as" breaks data binding?





Jason

As a sanity check I tried it and I get the exact same error. I am using Flex 
SDK 3.3.0 and Flash Player WIN 9,0,159,0 Debug.

Strangely enough, changing b to y fixes it and the error goes away. Other 
variable identifiers I have tried (Very small sample) gives the error as well.

It's got me beat.

Why would the posted code give an error at all?

Why would y work and everything else not?

--- In [email protected]<mailto:flexcoders%40yahoogroups.com>, Pan 
Troglodytes <chimpathe...@...> wrote:
>
> I wonder if I wasn't clear enough on this - these are run-time warnings that
> output to the console. You don't get those?
>
>
> On Mon, May 11, 2009 at 5:27 PM, Alex Harui <aha...@...> wrote:
>
> >
> >
> > I didn't get any warnings like you did so I couldn't investigate further.
> >
> >
> >
> > Alex Harui
> >
> > Flex SDK Developer
> >
> > Adobe Systems Inc. <http://www.adobe.com/>
> >
> > Blog: http://blogs.adobe.com/aharui
> >
> >
> >
> > *From:* [email protected]<mailto:flexcoders%40yahoogroups.com> 
> > [mailto:[email protected]<mailto:flexcoders%40yahoogroups.com>] *On
> > Behalf Of *Pan Troglodytes
> > *Sent:* Saturday, May 09, 2009 10:38 PM
> > *To:* [email protected]<mailto:flexcoders%40yahoogroups.com>
> > *Subject:* Re: [flexcoders] using "as" breaks data binding?
> >
> >
> >
> >
> >
> >
> > 3.3.0. I also get it with 4.0.0.6137. Just downloaded and got it in
> > 6772, too. I'm using player version 10,0,12,36. Do you need to know
> > anything about my Flex Builder version? Let me know anything else I can
> > provide.
> >
> > When you say you don't get it with the soon-to-be 3.4, what exactly do you
> > mean? You just don't get the run-time warning? Did you track down why it
> > would be okay with "x" and see if that's still doing whatever weird thing it
> > is in 3.4?
> >
> > On Sat, May 9, 2009 at 4:11 PM, Alex Harui <aha...@...> wrote:
> >
> >
> >
> > Which version of Flex? I don't get it on the latest builds that will ship
> > as 3.4
> >
> >
> >
> > Alex Harui
> >
> > Flex SDK Developer
> >
> > Adobe Systems Inc. <http://www.adobe.com/>
> >
> > Blog: http://blogs.adobe.com/aharui
> >
> >
> >
> > *From:* [email protected]<mailto:flexcoders%40yahoogroups.com> 
> > [mailto:[email protected]<mailto:flexcoders%40yahoogroups.com>] *On
> > Behalf Of *Pan Troglodytes
> > *Sent:* Friday, May 08, 2009 11:06 PM
> > *To:* flexcoders
> > *Subject:* [flexcoders] using "as" breaks data binding?
> >
> >
> >
> >
> >
> > I've run across some peculiar behavior and I am trying to figure out if I
> > should report it and if so, how exactly to explain it. Given these two bits
> > of code:
> >
> > *TestObject.as:*
> > package
> > {
> > public class TestObject
> > {
> > [Bindable] public var a:uint = 2;
> > [Bindable] public var b:uint = 3;
> > [Bindable] public var x:uint = 1;
> > }
> > }
> >
> > *Main Application:*
> > <?xml version="1.0" encoding="utf-8"?>
> > <Application
> > xmlns="http://www.adobe.com/2006/mxml";
> > >
> > <Script>
> > <![CDATA[
> > import mx.collections.ArrayCollection;
> > [Bindable] public var d:ArrayCollection = new ArrayCollection([
> > new TestObject,
> > new TestObject,
> > new TestObject
> > ]);
> > ]]>
> > </Script>
> > <List dataProvider="{d}">
> > <itemRenderer>
> > <Component>
> > <HBox>
> > <Label text="{TestObject(data).a}"/>
> > <Label text="{(data as TestObject).b}"/>
> > <Label text="{(data as TestObject).x}"/>
> > </HBox>
> > </Component>
> > </itemRenderer>
> > </List>
> > <Button click="for each (var o:TestObject in d) { o.x++; o.a++; o.b++
> > }"/>
> > </Application>
> >
> > If you run this application, you get the following warnings:
> > warning: unable to bind to property 'b' on class
> > 'GenericTest_inlineComponent1'
> > warning: unable to bind to property 'b' on class
> > 'GenericTest_inlineComponent1'
> > warning: unable to bind to property 'b' on class
> > 'GenericTest_inlineComponent1'
> > warning: unable to bind to property 'b' on class
> > 'GenericTest_inlineComponent1'
> > warning: unable to bind to property 'b' on class
> > 'GenericTest_inlineComponent1'
> > warning: unable to bind to property 'b' on class
> > 'GenericTest_inlineComponent1'
> >
> > There's a couple of things that stand out here. First, it doesn't complain
> > about properties "x" or "a". The reason it doesn't complain about property
> > "a" is that I used "TestObject(data).a" instead of "(data as
> > TestObject).a". If you change it to the other way around, you will get a
> > warning on "a" as well. I find this rather bizarre, as I thought there was
> > no functional difference to the two, other than "as" returning null if the
> > object wasn't of the appropriate type rather than just erroring out like
> > straight type coercion does. But type coercion/as are very (ahem) "lightly"
> > documented so I admit I don't know a lot. But I don't think it's because of
> > the null problem, since you can replace it with "TestObject(null).b" and it
> > stops giving the warning.
> >
> > The second weird thing is that it doesn't complain about "x" when using
> > "(data as TestObject).x" like it does with a. As you can see, it's claiming
> > this error is on GenericTest_inlineComponent1. This is significant
> > because it appears that it's instead doing some binding to the "x" property
> > on the item renderer, which is *very* odd. You can try this yourself by
> > changing "x" to other strings. Ones where there is a property of HBox named
> > the same thing won't give you a warning. Others will.
> >
> > Yet for all this griping, it seems the data binding IS working. If you
> > click on the button, you'll see all the labels in the list change as the
> > data is being changed.
> >
> > So, anyone want to shed some light on these two behaviors?
> >
> > --
> > Jason
> >
> >
> >
> >
> > --
> > Jason
> >
> >
> >
>
>
>
> --
> Jason
>

Reply via email to