Bom dia pessoal,

Neste momento após 3 longos dias de testes e debugging não consigo
encontrar o porque de quando altero a view na viewstack ele não
instancia os componentes dentro dessa view.

Isto é tenho um ficheiro Main.mxml que contem uma viewstack com dois
componentes (LoginPanel e UserManagerPanel) e que segue a seguinte
sequencia:

- Aplicação começa
- Faço Login
- Após sucedido mostra a view UserManagerPanel <- e aqui deveria
instanciar os dois componentes dento do UserManagerPanel e não o faz
(que são o UserList e o UserForm).

Já fiz debug de muitas formas diferentes, e só me dá null.

Este é o meu Main.mxml:

<?xml version="1.0" encoding="utf-8"?>
<mx:Application
        xmlns:mx="http://www.adobe.com/2006/mxml";
        layout="horizontal"
        xmlns:loginComp="com.pt.onedesign.user_manager.view.components.Login.*"
        
xmlns:userManagerComp="com.pt.onedesign.user_manager.view.components.UserManager.*"
        initialize="facade.startupApp(this)">

        <mx:Script>
                <![CDATA[
                        import 
com.pt.onedesign.user_manager.view.ApplicationMediator;
                        import com.pt.onedesign.user_manager.ApplicationFacade;
                        
                        private var facade:ApplicationFacade = 
ApplicationFacade.getInstance();

            [Bindable] public var currentViewSelector:int =
ApplicationMediator.LOGIN_PANEL;
            public var activeView:Object;
                        
                        
                ]]>
        </mx:Script>
        
        <mx:Binding source="appView.selectedChild" destination="activeView" />
        <mx:ViewStack id="appView" resizeToContent="true"
selectedIndex="{currentViewSelector}" >
                <loginComp:LoginPanel id="loginPanel"/>
                <userManagerComp:UserManager id="userManagerPanel"/>
        </mx:ViewStack> 
</mx:Application>

E esta é a parte em que ele muda a view:
(ApplicationMediator.as vou só resumir a parte principal do código que
muda a view)

public static const LOGIN_PANEL : int = 0;
public static const USER_MANAGER_PANEL : int =  1;

case LoginProxy.LOGIN_SUCCESS:
        app.currentViewSelector = USER_MANAGER_PANEL; <- ele faz isto e muda a 
view
        facade.registerMediator(new
UserListMediator(app.activeView.userList)); <- aqui já deveria ter o
userList instanciado e dá-me null :|
        facade.sendNotification(UserProxy.GET_USERS_LIST);
break;

É realmente estranho, existia uma solução que era o creationPolicy=all
mas gostaria de saber se existe outra solução?

Daniel Gomes

--~--~---------~--~----~------------~-------~--~----~
Recebeu esta mensagem porque está inscrito em Grupo "Mailing List da Comunidade 
Portuguesa de Desenvolvimento de RIAs - www.riapt.org" do Grupos Google.
 Para enviar mensagens para este grupo, envie um email para 
[email protected]
 Para anular a inscrição neste grupo, envie um email para [EMAIL PROTECTED]
 Para mais opções, visite este grupo em 
http://groups.google.com/group/riapt?hl=pt-PT
-~----------~----~----~----~------~----~------~--~---

Responder a