Eu já implementei isso mas de forma diferente e também não resultou,
continuava a dar null aos componentes dentro da view userManagerPanel.
Neste momento a única solução que veijo é lançar um evento quando o
load do userManagerPanel estiver completo e depois então registar o
mediator, só não sei se esta é a melhor forma de o fazer e a mais
prática.

Daniel Gomes

2008/8/18 João Saleiro <[EMAIL PROTECTED]>:
> Daniel,
>
> julgo que a resposta ao teu problema pode ser encontrada aqui:
> http://puremvc.org/content/view/91/185/
>
>
>
> João Saleiro
> Chief Technology Officer
>
> Tlm 1: +351 916 077 097 Skype: joao.saleiro
> Tlm 2: +351 968 203 370 Email/MSN: [EMAIL PROTECTED]
> www.webfuel.pt
>
> Daniel Gomes wrote:
>
> 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