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