2011-09-21 5 views
0

이것이 가능한지 모르겠습니다. TitleWindows의 이름을 데이터베이스에서 문자열로 가져옵니다.문자열을 TitleWindow 클래스로 변환하십시오.

그런 다음 내 주요 응용 프로그램에서 TitleWindow를 시작해야합니다. 그래서 내 함수에서 PopUpManager 클래스를 받아들이 기 때문에 문자열 인 TitleWindow의 이름을 Class로 변환해야합니다. 아래는 제 코드입니다.

내 응용 프로그램을 실행하고 나는 오류가 점점 오전 TitleWindow 시작하려고 : 내가 뭐하는 거지 왜

Implicit coercion of a value of type String to an unrelated type Class. 

내가 하드 코드 PopUpManager에 내 pop-up의 이름을 원하지 않는, 즉 그것은 이것을 좋아한다. 이 문제를 해결할 수있는 방법은 없나요?

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); 
} 

답변

0

나는 최근에 아주 비슷한 것을해야했다.

//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); 
       } 

참고 : 여기에 내가 그것을 할 쓴 기능입니다

import org.bishop.Login; 

도의 변수를 선언 : 클래스가 제대로 만들어지지하기 위해, 당신은 import 문을 모두 포함해야합니다 코드의 클래스는 다음과 같습니다 :

Login; 

그렇지 않으면 클래스를 만들 수 없습니다.

+0

이것은 .. 그것도 나를 위해 일한다. 백만 감사합니다. – FlexyBoz

관련 문제