Bem tentei fazer um Debug diferente e notei que os componentes são
realmente criados mas só o consegui ver após ter criado uma função
para o creationComplete da view userManagerPanel.

Agora a minha questão é quando eu faço o switch da view ele não faz
logo o load de tudo? Porque pelo que estou a entender ele demora a
fazer o load e é por isso que quando registo o Mediator ele não apanha
referencia da instancia pois ainda está a ser criado, e não me parece
funcional criar uma função a dizer que o componente foi totalmente
criado e enviar uma Notification a dize-lo.

Provavelmente estou a registar o mediador no sitio errado, se estou
qual seria então o melhor sitio/forma de o fazer? Isto se esta for a
melhor solução para o caso.

Daniel gomes

2008/8/18 Daniel Gomes <[EMAIL PROTECTED]>:
> 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