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 -~----------~----~----~----~------~----~------~--~---
