Você pode usar o getDefinitionByName(). Porém, é preciso garantir de
alguma forma que a classe que você quer instanciar dinamicamente será
vinculada no SWF. Em outras palavras a classe que você quer usar
precisa estar disponível no SWF senão você terá um erro em tempo de
execução. Assim, você pode fazer de duas formas:

import myPackage.MyClass;

var myClassDefinintion:Object =
getDefinitionByName("myPackage.MyClass");
var myObject:MyClass = new myClassDefinintion();

Neste primeiro exemplo o "myObject" foi tipado com "MyClass" que é a
classe que será instanciada dinamicamente. Isto garante que esta
classe seja vinculado no SWF. Se você não quiser fazer isso você pode
tipar com "Object" como no exemplo abaixo e instruir o Flex a vincular
a classe usando "-includes myPackage.MyClass" no compilador (no Flex
Builder -> Project -> Properties -> Flex Compiler -> Aditional
Compiler Arguments).

var myClassDefinintion:Object =
getDefinitionByName("myPackage.MyClass");
var myObject:Object = new myClassDefinintion();

[]'s
Beck Novaes



On 23 ago, 20:24, Marcelo de Francisco <[EMAIL PROTECTED]>
wrote:
> Oi pessoal,
>
> Estou com um problema que nao sei se é possível de resolver, tem como
> eu instanciar uma classe onde essa classe seria uma string, alguma
> coisa mais o menos como no código abaixo:
>
> var cli:String = 'Cliente';
> var ved:String = 'Vendedor';
>
> var classes:Array = new Array();
>
> classes.push(new cli);
> classes.push(new ved);
>
> []s
> Marcelo de Francisco


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

Responder a