É... realmente é "estranho"... em java se a gente faz
Class.forName("pacote.classe.java") e blz.. desde q o pacote exista e esteja
no mesmo classpath, funciona. Agora, em AS3 o compilador precisa ter uma
"referência" para esse tipo poder ser carregado, mesmo que essa referência
nunca seja usada... muito estranho mesmo.

Por isso, considere a idéia de vc criar um Dicionário de tipos para serem
carregados...  e para isso pesquise na documentação sobre o uso da
Dictionary Class.

Um abraço.



2009/3/1 Vinícius Velasco <[email protected]>

> Diferente isso ter que declarar uma variavel mesmo que não use ela.
> Então não escaparei terei que declarar mesmo as tela
>
> Muito obrigado Mário, Eduardo
>
> 2009/3/1 Eduardo Kraus <[email protected]>
>
>> você adiciona ao array
>>  *private var somenteParaChamar:array = new array(algumaTela, outraTela,
>> maisUmaTela)*
>>
>> 2009/3/1 Vinícius Velasco <[email protected]>
>>
>>> Bom dia Eduardo, Dessa forma deu certo mas eu teria que pra cada Tela
>>> criar  a linha
>>>
>>> *private var somenteParaChamar:array = new array(algumaTela)*
>>>
>>> eu tentei no lugar de algumaTela colocar uma variavel mas ele não aceita
>>>
>>> eu o *registerClassAlias(tela, algumaTela)*
>>> **
>>> também da certo mas teria que ter uma pra cada
>>>
>>> Valeu pela ajuda se tiver alguma ideia e poder me passar fico grato
>>>
>>>
>>>
>>>
>>>
>>> 2009/3/1 Eduardo Kraus <[email protected]>:
>>> > Bom, como o site ainda esta fora vou passar alguns detalhes.
>>> > Você tem um popUp do tipo TitleWindow que deseja abrir. Ele esta em
>>> > src/view/algumaTela.mxml. Como ele sempre será chamado dinâmicamente
>>> você
>>> > precisará que ele seja incluido no código na hora da compilação.
>>> > import view.algumaTela
>>> > private var somenteParaChamar:array = new array(algumaTela)
>>> > Esta váriavel do tipo array apenas criei para que em algum lugar fosse
>>> > chamado o arquivo e este fosse compilado. Agora é só converter.
>>> > var StringDinamico:String = "view.algumaTela";
>>> > var javela:class = getDefinitionByName(StringDinamico);
>>> > É para ser isso. Alguma dúvida posta aqui.
>>> > 2009/3/1 Vinícius Velasco <[email protected]>
>>> >>
>>> >> vou tentar amanha novamente, meu problema msmo é ter uma string e
>>> >> converter ela pra Class
>>> >>
>>> >> 2009/3/1 Eduardo Kraus <[email protected]>:
>>> >> > O site parece estar em manutenção.
>>> >> >
>>> >> > 2009/3/1 Vinícius Velasco <[email protected]>
>>> >> >>
>>> >> >> e ae Eduardo valeu pela resposta o link esta quebrado.
>>> >> >>
>>> >> >>
>>> >> >> 2009/2/28 Eduardo Kraus <[email protected]>:
>>> >> >> > Há um monte de fatores que fazem o getDefinitionByName dar erro.
>>> Uma
>>> >> >> > delas é
>>> >> >> > não possuir o  componente carregado.
>>> >> >> >
>>> >> >> >
>>> >> >> >
>>> http://blog.flexexamples.com/2008/08/28/creating-a-component-instance-by-class-name-in-actionscript-30/
>>> >> >> > 2009/2/28 Vinícius Velasco <[email protected]>
>>> >> >> >>
>>> >> >> >> Olá pessoal eu estou tentando chamar uma MDIWindow dinamicamente
>>> e
>>> >> >> >> depois de tantas pesquisas eu consegui uma forma mas estou com
>>> um
>>> >> >> >> problema eu preciso criar uma variavel (não sei porque) pra
>>> >> >> >> funcionar
>>> >> >> >> e essa variavel é do tipo Class se eu deixar o valor dela fixo
>>> >> >> >> funciona certinho mas eu kero ele dinamico, existe um forma de
>>> >> >> >> converter do tipo String para Class? ou isso não existe, meu
>>> codigo
>>> >> >> >> esta assim:
>>> >> >> >>
>>> >> >> >>                        public function abreJanela(tela:String,
>>> >> >> >> obj:Class):void{
>>> >> >> >>
>>> >> >> >>                                registerClassAlias(tela,obj);
>>> //Aqui
>>> >> >> >> é
>>> >> >> >> problema
>>> >> >> >>
>>> >> >> >>                                var myClassDefinition:Object =
>>> >> >> >> getDefinitionByName(tela);
>>> >> >> >>                                var myWin:MDIWindow = new
>>> >> >> >> myClassDefinition();
>>> >> >> >>
>>>  mdiCanvas.windowManager.add(myWin);
>>> >> >> >>
>>> >> >> >>                        }
>>> >> >> >> e faço a chamada assim
>>> >> >> >>
>>> >> >> >>                                        <mx:Button x="445" y="10"
>>> >> >> >> label="Abrir" click="abreJanela('componentes.' + tela.text,
>>> MD);"/>
>>> >> >> >>
>>> >> >> >> Queria q esse MD fica dinamico tipo colocar textbox.tex e la na
>>> >> >> >> minha
>>> >> >> >> function ele ser Class
>>> >> >> >>
>>> >> >> >> Desde ja agradeço
>>> >> >> >>
>>> >> >> >> --
>>> >> >> >> Bel. Vinícius Velasco
>>> >> >> >> Analista de Desenvolvimento - Ábaco
>>> >> >> >> MSN: [email protected]
>>> >> >> >> Skype: ircvinicius
>>> >> >> >> Fone: 66 9206 6966
>>> >> >> >> Rondonópolis - Mato Grosso - Brasil
>>> >> >> >> "Tudo Posso Naquele que me Fortalece" Fil 4:13
>>> >> >> >>
>>> >> >> >>
>>> >> >> >
>>> >> >> >
>>> >> >> > >
>>> >> >> >
>>> >> >>
>>> >> >>
>>> >> >>
>>> >> >> --
>>> >> >> Bel. Vinícius Velasco
>>> >> >> Analista de Desenvolvimento - Ábaco
>>> >> >> MSN: [email protected]
>>> >> >> Skype: ircvinicius
>>> >> >> Fone: 66 9206 6966
>>> >> >> Rondonópolis - Mato Grosso - Brasil
>>> >> >> "Tudo Posso Naquele que me Fortalece" Fil 4:13
>>> >> >>
>>> >> >>
>>> >> >
>>> >> >
>>> >> > >
>>> >> >
>>> >>
>>> >>
>>> >>
>>> >> --
>>> >> Bel. Vinícius Velasco
>>> >> Analista de Desenvolvimento - Ábaco
>>> >> MSN: [email protected]
>>> >> Skype: ircvinicius
>>> >> Fone: 66 9206 6966
>>> >> Rondonópolis - Mato Grosso - Brasil
>>> >> "Tudo Posso Naquele que me Fortalece" Fil 4:13
>>> >>
>>> >>
>>> >
>>> >
>>> > >
>>> >
>>> --
>>> Bel. Vinícius Velasco
>>> Analista de Desenvolvimento - Ábaco
>>> MSN: [email protected]
>>> Skype: ircvinicius
>>> Fone: 66 9206 6966
>>> Rondonópolis - Mato Grosso - Brasil
>>> "Tudo Posso Naquele que me Fortalece" Fil 4:13
>>>
>>>
>>>
>>
>> Skype: ircvinicius
>> Fone: 66 9206 6966
>> Rondonópolis - Mato Grosso - Brasil
>> "Tudo Posso Naquele que me Fortalece" Fil 4:13
>>
>> >>
>>


-- 
Mário Júnior
Programador Java / Adobe Flex
http://blog.mariojunior.com

--~--~---------~--~----~------------~-------~--~----~
Você recebeu esta mensagem porque está inscrito na lista "flexdev"
Para enviar uma mensagem, envie um e-mail para [email protected]
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
-~----------~----~----~----~------~----~------~--~---

Responder a