I've got a weird error in Flex 3.0.0 I can't figure out:
how to add states to a component.

I looked up this problem in google, and found sites saying I need to change
the namespace of the "states" object if the new components have their own
new namespace, but what if I'm getting this error without making a new
namespace for the components?

Let's say I have two simple components (1 & 2) referenced in a simple
Application (3):
1- testComponent1.mxml:
<?xml version="1.0" encoding="utf-8"?>
<mx:HBox xmlns:mx="http://www.adobe.com/2006/mxml";
    width="100%" height="100%">
    <mx:Label text="label 1"/>
    <mx:Button id="button1" label="goto tc2" click="{this.parentApplication.
currentState='testComponent2'}"/>
</mx:HBox>

2- testComponent2.mxml:
<?xml version="1.0" encoding="utf-8"?>
<mx:HBox xmlns:mx="http://www.adobe.com/2006/mxml";
    width="100%" height="100%"
    creationComplete="{this.currentState = 'study';}" >
    <mx:Label text="label 2"/>
    <mx:Button id="button2" label="goto tc1" click="{this.parentApplication.
currentState='testComponent1'}"/>
</mx:HBox>

3- testMain.mxml:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"; layout="absolute"
xmlns:local="*"
    currentState="testComponent1">
    <mx:states>
        <mx:State name="testComponent1">
            <mx:SetProperty target="{viewStack}" name="selectedIndex"
value="0" />
        </mx:State>
        <mx:State name="testComponent2">
            <mx:SetProperty target="{viewStack}" name="selectedIndex"
value="1" />
        </mx:State>
    </mx:states>
    <mx:ViewStack id="viewStack" width="100%" height="100%" >
        <local:testComponent1 id="tc1" />
        <local:testComponent2 id="tc2" />
    </mx:ViewStack>
</mx:Application>

=================
Compiles fine, works perfectly.

If I click the button in tc1, I go to tc2; and vice versa.

Now, for whatever reason, I want to add a state in tc2:

<?xml version="1.0" encoding="utf-8"?>
<mx:HBox xmlns:mx="http://www.adobe.com/2006/mxml";
    width="100%" height="100%"
    creationComplete="{this.currentState = 'mystate1';}" >

    <mx:Label text="label 2"/>
    <mx:Button id="button2" label="goto tc1" click="{this.parentApplication.
currentState='testComponent1'}"/>

    <mx:states id="mystates">
        <mx:State name="mystate1">
        </mx:State>
        <mx:State name="mystate2">
        </mx:State>
    </mx:states>

</mx:HBox>

====================================
Error: "*Could not resolve <mx:states> to a component implementation*"

What the heck?

If I change     <mx:states id="mystates"> to     <local:states
id="mystates">
the error becomes
"*The prefix "local" for element "local:states" is not bound*"

When I put this in the HBox tag:
xmlns:local="*"
then the error becomes:
"*Type was not found or was not a compile-time constant: states.*"

Am I missing something, or going about this the wrong way?

Please help.
Thanks!
-Davy Strube



-------------------------------------------------------------
To unsubscribe from this list, simply email the list with unsubscribe in the 
subject line

For more info, see http://www.affug.com
Archive @ http://www.mail-archive.com/discussion%40affug.com/
List hosted by http://www.fusionlink.com
-------------------------------------------------------------

Reply via email to