The getDefinitionByName() function in the flash.utils package can
convert a String specifying a fully-qualified classname to a Class, as
long as the class is actually in the SWF or the Player. For example,
 
    var c:Class = Class(getDefinitionByName("mx.controls.Button"));
 
is the same as
 
    var c:Class = Button;
 
- Gordon

________________________________

From: [email protected] [mailto:[EMAIL PROTECTED] On
Behalf Of phall121
Sent: Wednesday, June 06, 2007 9:06 AM
To: [email protected]
Subject: [flexcoders] Converting a string to a Class



Embarrassingly basic:

How, in AS, can you convert a string ("components.Comp1") into the 
actual reference to the component?

I have a function that requires a parameter of type Class. 

private function fAddCustomView(compClass:Class):void

>From an array I have a listing of package/components (as string):

"components.Comp1"
"components.Comp2"
"components.Comp3"

How can I convert these strings to actual references to the 
components themselves...so I can send any selection into the 
function as a Class?

I tried:
private function fAddComp():void
{
var clComp:Class = Class(acCompList.getItemAt(2).compname);
fAddCustomView(clComp);
}

private function fAddCustomView(compClass:Class):void

This didn't work. Error said:

"Type Coercion failed: cannot convert "components.Comp1" to Class."

Seems a basic question...How do you do it? Thanks.



 

Reply via email to