Haroldo...

Isso é um problema do compilador do Flash Builder onde tudo que não é usado
não será incluído no swf final, ou seja, se você não instanciar o componente
ao menos uma vez na aplicação o mesmo não estará presente no swf para vc
inicializar dinamicamente.
Compreende?

O que você pode fazer é criar um array no Application dessa forma:
var arr:Array = [{Component1, Component2, Component3}];

Dessa forma os componentes estarão presentes na sua aplicação em tempo de
execução.
Boa sorte

Att.
Em 21 de julho de 2011 09:47, Haroldo Franzin <
[email protected]> escreveu:

> **
>
> Da forma anterior que vc passou funcionou sim, porém não queria ter que
> declarar todos os tipos de componentes,
>
> vou Tentar da forma que vc passou agora tbm e já reporto
>
> Vlw
>
>
> ---
>
>      *Haroldo Franzin*
>
> *MSN*: [email protected]
>
>
>
>  On Thu, 21 Jul 2011 09:11:51 -0300, Eric Tonussi wrote:
>
> Mas funcionou ou nem asim? Se não, voce pode ter que declarar o skinClass
> de cada componente que adicionar. Algo ssim:
>
> public function addEl(frm:Form, el:Class, name:String):void{
>  registerClassAlias(name,el);
>
>
>  var clazzTI:Class = getClassByAlias(name);
>  var instance:UIComponent = new clazzTI() as UIComponent;
>
> * if ( instance is SkinnableComponent ) {
>  SkinnableComponent(instance).setStyle( 'skinClass' , ???? );
>  }*
>
>  instance.addEventListener(FocusEvent.FOCUS_IN,component_focusInHandler);
>
>  frm.addElement(instance as UIComponent);
> }
>
>
>
> Em 21 de julho de 2011 08:58, Haroldo Franzin <
> [email protected]> escreveu:
>
>>  Certo,
>>     Mas dessa forma vou ter que Carregar "TODOS" os componentes, sendo que
>> nem todos vou utilizar
>>
>>
>>
>> ---
>>
>>      *Haroldo Franzin
>> **MSN*: [email protected]
>>
>>
>>
>>  On Thu, 21 Jul 2011 08:50:55 -0300, Eric Tonussi wrote:
>>
>>
>> É normal dar erro de skin quando se cria objetos dinamicamente dessa
>> forma. Tente declarar uma vez pelo menos cada objeto que você vai criar no
>> declaration, dessa forma:
>>
>>
>>
>>
>>
>>
>>
>> Abraços
>>
>>
>>  Em 20 de julho de 2011 17:35, Haroldo Franzin <
>> [email protected]> escreveu:
>>
>>>  Pessoal
>>>
>>>     Estou fazendo criação de componentes em Tempo de excução, porém na
>>> hora que executo a função da esse erro no debug do navegador
>>>
>>> *Erro:*
>>>
>>> Error: Não é possível localizar capa para 
>>> main.ApplicationSkin2._ApplicationSkin_Group1.contentGroup.FormComponents.FormSkin42.contentGroup.TextInput144.
>>>  at spark.components.supportClasses::SkinnableComponent/attachSkin()
>>>
>>>
>>>
>>>
>>>  at spark.components.supportClasses::SkinnableComponent/validateSkinChange()
>>>  at spark.components.supportClasses::SkinnableComponent/createChildren()
>>>  at mx.core::UIComponent/initialize()
>>>  at 
>>> mx.core::UIComponent/http://www.adobe.com/2006/flex/mx/internal::childAdded()
>>>
>>>
>>>
>>>
>>>  at mx.core::UIComponent/addChildAt()
>>>  at spark.components::Group/addDisplayObjectToDisplayList()
>>>  at 
>>> spark.components::Group/http://www.adobe.com/2006/flex/mx/internal::elementAdded()
>>>
>>>
>>>
>>>
>>>  at spark.components::Group/addElementAt()
>>>  at spark.components::Group/addElement()
>>>  at spark.components::SkinnableContainer/addElement()
>>>  at main/addEl()
>>>  at Function/http://adobe.com/AS3/2006/builtin::apply()
>>>
>>>
>>>
>>>
>>>  at r1.deval.rt::CallExpr/getAny()
>>>  at r1.deval.rt::ExprStmt/exec()
>>>  at r1.deval.rt::Block/exec()
>>>  at r1.deval.rt::Block/run()
>>>  at r1.deval.rt::Env$/run()
>>>  at r1.deval::D$/eval()
>>>  at main/eval()
>>>  at main/btnCriar_clickHandler()
>>>
>>>
>>>
>>>
>>>  at main/__btnCriar_click()
>>>
>>>
>>>
>>> *Estou Seguindo o seguinte procedimento:*
>>>
>>> protected function btnCriar_clickHandler(event:MouseEvent):void
>>> {
>>>  if (lstComponentes.selectedIndex >= 0){
>>>   var sb:StringBuffer = new StringBuffer();
>>>   var nome:String = lstComponentes.selectedItem;
>>>
>>>      sb.append("import spark.components."+nome+"; ");
>>>   sb.append("\n");
>>>   sb.append("addEl(FormComponents, "+nome+",'spark.components."+nome+"');");
>>>
>>>   eval(sb.toString());
>>>  }
>>> }
>>>
>>> public function addEl(frm:Form, el:Class, name:String):void{
>>>  registerClassAlias(name,el);
>>>  var clazzTI:Class = getClassByAlias(name);
>>>  var instance:UIComponent = new clazzTI() as UIComponent;
>>>
>>>
>>>  instance.addEventListener(FocusEvent.FOCUS_IN,component_focusInHandler);
>>>
>>>  frm.addElement(instance as UIComponent);
>>> }
>>>
>>>
>>>
>>> Biblioteca: r1.eval.d
>>>
>>>
>>> --
>>> 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
>>
>>
>>
>> --
>> 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
>>
>>
>> --
>> 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
>>
>
>
> --
> 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
>
>  --
> 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
>



-- 
Guilherme Sjlender - http://www.gflex.biz/
------------------------------------------------------------
Desenvolvedor Web - Flex3.5/Flex4.5/JavaEE
Desenvolvedor Desktop - AIR/JavaSE
Desenvolvedor Mobile - Android/JavaME/Flex4.5
------------------------------------------------------------

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