Beck,
em primeiro lugar obrigado pela resposta.
Tentei sua solução aqui e quase funcionou. Apesar de fazer o popup,
a tela não consegue ser movimentada, caso o usuário agarre o titulo e
arraste ela para o lado.
Para resolver isso apenas troquei o canvas por titlewindow e o
titlewindow por canvas. Aí tudo funcionou tranquilo, inclusive com botao
de fechar a tela.
Existem outras coisas que vou precisar mexer (coisas do tipo não
abrir uma popup vazia no caso de uma conexão lenta, passar a string de
url para o modulo da Popup.mxml para ficar maleável, centralizar uma
tela pq o esquema de centralização da centerpopup não funciona mais) mas
creio que esse já é um bom início.
Muito obrigado!
Luís Eduardo.
Beck Novaes escreveu:
>Será que isto resolve:
>
>
>Main.mxml
>========
>
><?xml version="1.0" encoding="utf-8"?>
><mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">
>
> <mx:Script>
> <![CDATA[
> import mx.core.IFlexDisplayObject;
> import mx.managers.PopUpManager;
>
> private function createPopUp():void
> {
> var popUp:IFlexDisplayObject =
> PopUpManager.createPopUp(this,
>MyPopUp);
> }
>
> ]]>
> </mx:Script>
>
> <mx:Button label="PopUp" click="createPopUp()"/>
>
></mx:Application>
>
>MyPopUp.mxml
>============
>
><?xml version="1.0" encoding="utf-8"?>
><mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml">
>
> <mx:ModuleLoader url="MyModule.swf"/>
>
></mx:Canvas>
>
>
>MyModule.mxml
>============
>
><?xml version="1.0" encoding="utf-8"?>
><mx:Module xmlns:mx="http://www.adobe.com/2006/mxml" xmlns:local="*">
>
> <local:MyWindow/>
>
></mx:Module>
>
>
>MyWindow.mxml
>=============
>
><?xml version="1.0" encoding="utf-8"?>
><mx:TitleWindow xmlns:mx="http://www.adobe.com/2006/mxml" title="Test
>Window">
>
> <mx:Label text="Hello Popup!" fontSize="20"/>
>
></mx:TitleWindow>
>
>
>[]'s
>Beck Novaes
>
>On 21 maio, 20:02, Luís Eduardo <[EMAIL PROTECTED]> wrote:
>
>
>> Não entendi bem o que você quis dizer com essa linha....
>> Mas se foi o que eu estou pensando não tem muita coisa diferente do
>>que está no código-fonte que eu enviei no final do email anterior:
>>
>>PopUpManager.createPopUp(DisplayObject(Application.application),
>>MyWindow, false, PopUpManagerChildList.APPLICATION)
>>
>> Pode explicar um pouco melhor o que vc quis dizer?
>> Só reforçando que o que quero fazer popup é um mx:Module (portanto
>> carregado dinamicamente) e não uma classe normal (que o tipo é conhecido a
>> priori e posso fazer "new MyWindow()").
>>
>> Mesmo assim obrigado por tentar ajudar.
>>
>> Abraços,
>> Luís Eduardo.
>>
>>SaintBr escreveu:
>>
>>
>>
>>>popupmanager.createpopup(this, Componente, true/false);
>>>
>>>
>>>saintbr. =]
>>>----- Original Message -----
>>>From: "Luís Eduardo" <[EMAIL PROTECTED]>
>>>To: <flexdev@googlegroups.com>
>>>Sent: Monday, May 21, 2007 10:42 PM
>>>Subject: [flexdev] popup em um modulo
>>>
>>>
>>> Pessoal,
>>>
>>>
>>> Alguém sabe como fazer um mx:Module, que contém uma classe minha, e
>>>que deriva de uma TitleWindow, ser "popado"? (fazer popup)
>>> Estou tentando de todo jeito e não consigo... pesquisando na
>>>internet só achei um .ppt do Alex Harui, que usa um jeito alienígena,
>>>mas que não funciona. Segui à risca o exemplo dele mas dava erro de
>>>compilação por causa de casting. Fiz o casting que precisava mas, apesar
>>>de fazer o popup, ele gera erros de tempo de execução...
>>> O link para o ppt é esse:
>>>blogs.adobe.com/aharui/360*Flex*2007/*Module*s.ppt/*Module*s.ppt
>>>
>>>
>>> Antes, quando eu não estava usando modules, bastava jogar a classe
>>>que deriva da TitleWindow na função CreatePopup.. o problema com os
>>>modules é que eu não posso fazer a coisa toda atrelada ao tipo
>>>especifico de minha classe, senão não diminuo o tamanho do swf gerado.
>>>
>>>
>>> Alguém pode dar uma luz?
>>>
>>>
>>> Abaixo vai um exemplo do comportamento que eu preciso, só que usando
>>>módulos.
>>>
>>>
>>> abração,
>>>
>>>
>>> Luís Eduardo.
>>>
>>>
>>><?xml version="1.0" encoding="utf-8"?>
>>><!-- MainApp.xmlx -->
>>><mx:Application
>>> xmlns:mx="http://www.adobe.com/2006/mxml">
>>> <mx:Button label="show" click="showTheWindow()"/>
>>> <mx:Script>
>>> <![CDATA[
>>> import mx.managers.PopUpManagerChildList;
>>> import mx.managers.PopUpManager;
>>>
>>>
>>> public function showTheWindow():void {
>>> PopUpManager.centerPopUp(
>>>PopUpManager.createPopUp(DisplayObject(Application.application),
>>>MyWindow, false, PopUpManagerChildList.APPLICATION) );
>>> }
>>> ]]>
>>> </mx:Script>
>>></mx:Application>
>>>---------------------------
>>><?xml version="1.0" encoding="utf-8"?>
>>><!-- MyWindow.mxml -->
>>><local:MyTitleWindow
>>> xmlns:mx="http://www.adobe.com/2006/mxml"
>>> xmlns:local="*"
>>> width="400" height="300" showCloseButton="true"
>>> close="PopUpManager.removePopUp(this)">
>>>
>>>
>>> <mx:Label text="HERE IS THE WINDOW !!!"/>
>>> <mx:Script>
>>> <![CDATA[
>>> import mx.managers.PopUpManager;
>>> ]]>
>>> </mx:Script>
>>></local:MyTitleWindow>
>>>----------------------------------
>>><?xml version="1.0" encoding="utf-8"?>
>>><!-- MyTitleWindow.mxml -->
>>><mx:TitleWindow
>>> xmlns:mx="http://www.adobe.com/2006/mxml"
>>> width="400" height="300">
>>></mx:TitleWindow>
>>>------------------------------
>>>
>>>
>
>
>>
>
>
>
--~--~---------~--~----~------------~-------~--~----~
Você recebeu esta mensagem porque está inscrito na lista "flexdev"
Para enviar uma mensagem, envie um e-mail para flexdev@googlegroups.com
Para sair da lista, envie um email em branco para [EMAIL PROTECTED]
Mais opções estão disponíveis em http://groups.google.com/group/flexdev
-~----------~----~----~----~------~----~------~--~---