2010-06-25 4 views
0

부모님과 자녀가 2 명 있습니다. child1에서 child2로 데이터를 전달하려고하지만 오류 메시지가 계속 표시됩니다. 1061 : 정적 유형의 참조를 통해 가능한 정의되지 않은 메서드를 호출합니다. 자식 1에서어린이부터 어린이까지 데이터를 전달할 수 없습니다.

나는 다음과 같은 코드가 있습니다 자식 2에서

[Bindable] 
public var TestVar:String='sometext'; 

내가 PHP :

var newTestVar:String = child1.TestVar; 
    if(newTestVar != null){ 
    getResult.token = someService.get_filtered_Paged(newTestVar); 
    } 

    else{ 
    getSecResult.token = someService.get_paged(); 
    } 
를 통해 MySQL 데이터베이스를 검색 할 수 TESTVAR의 가치를 다음 값으로 사용하려고를
+0

당신은 부모/자식이라고합니다. 당신은 무엇을 의미합니까? 일부 컨테이너의 하위 구성 요소 또는 서로 상속하는 클래스? 또한 child1 변수가 선언 된 방법을 보는 데 도움이됩니다 (오류 메시지에서 child1은 실제로 인스턴스가 아닌 클래스의 이름이 될 수 있지만 더 게시하지 않으면 알 수 없음) – phtrivier

+0

ginius를 잘라냅니다. . – deceze

답변

-1

@ape가 맞으면 정적으로 설정하거나 MVC를 사용하여 속성을 주입해야합니다.

-1

변경 public var TestVar:String='sometext'; to public static var TestVar:String='sometext'; 정적으로 표시하지 않은 정적 상황에서는 TestVar 변수에 액세스하려고하기 때문에이 오류가 발생합니다.

-1

child1을 실제로 child1의 수퍼 클래스로 선언했기 때문에이 오류가 발생합니다. TestVar가 정의되지 않은 것은 당연한 것입니다. 당신이 해당 필드에 액세스해야하는 것 때문에 슈퍼 클래스가 동적 아니라고 그것을 위로하려면 컴파일 오류가 발생하지 않으며, 인스턴스가 보유하는 경우 런타임에 필드에 접근 아무 문제가 없어야합니다

child1["TestVar"]; 

child1이 올바른 것입니다.

-1

MyClass1에 TestVar을 정의했다고 가정 해 봅니다. 해당 유형에 child1 캐스트 :

var newTestVar:String = MyClass1(child1).TestVar; 

를이 방법으로 문제가 해결되지 않으면, 코드의 더 큰 부분을 게시하시기 바랍니다.

관련 문제