Convert String into Class for TitleWindow
I don't know if this is possible, I am pulling the names for TitleWindows from my database as strings.
Then from my main application I have to launch the TitleWindow. So in my function I need to convert the name of the TitleWindow which is a String to a Class, because the PopUpManager accepts a Class. Below is my code.
When launching my application and trying to launch the TitleWindow I am getting the error:
Implicit coercion of a value of type String to an unrelated type Class.
I don't want to hard code the name of my popUp in the PopUpManager, that is why I am doing it like this. Any way to work around this开发者_JAVA百科?
public function getScreen(screenName:String):void
{
    var screen_Name:Class = new Class();
    screen_Name = screenName;
    var popUpWindow:TitleWindow = PopUpManager.createPopUp(this, screen_Name, false) as TitleWindow;
    PopUpManager.centerPopUp(popUpWindow);
}
I have had to do something very similar recently. Here is the function I wrote to do it:
    //You have to provice the package signature
    private var viewPackage:String = "org.bishop";
    //In my case, event.type is the name of a class
    var className: String = viewPackage + "." + event.type;
                try{
                    var classRef:Class = getDefinitionByName(className) as Class;
                    viewNavigator.pushView(classRef);               
                }   
                catch(e:ViewError){
                    trace(e.message);
                    logger.debug(e.message);
                }
Note: for the class to be created correctly, you will need to include both an import statement:
import org.bishop.Login;
and also declare a variable of the class in the code as follows:
Login;
otherwise the classes will not be available to be created.
 
         加载中,请稍侯......
 加载中,请稍侯......
      
精彩评论