2010-06-25 6 views
0

У меня есть родитель и 2 детей. Я пытаюсь передать данные от child1 к child2, но продолжаю получать сообщение об ошибке: 1061: вызов возможно неопределенного метода через ссылку со статическим типом.Не удается передать данные от ребенка ребенку

В ребенка1 У меня есть следующий код:

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

В child2 Я пытаюсь получить значение TestVar, а затем использовать его в качестве значения для поиска в базе данных MySQL через PHP .:

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

    else{ 
    getSecResult.token = someService.get_paged(); 
    } 
+0

Wehn ​​вы говорите, родитель/ребенок, что вы имеете в виду? дочерние компоненты какого-либо контейнера или классы, которые наследуют друг друга? Кроме того, это поможет увидеть, как объявлена ​​переменная child1 (из сообщения об ошибке может быть, что child1 - это фактически имя класса, а не экземпляр, но мы не можем знать, если вы не разместите больше.) – phtrivier

+0

Вырезать ginius , – deceze

ответ

-1

@ape право, вы должны сделать Static или использовать MVC для ввода свойства.

-1

change public var TestVar:String='sometext'; to public static var TestVar:String='sometext'; Вы получаете эту ошибку, потому что пытаетесь получить доступ к переменной: TestVar в статическом контексте, если вы не отметили ее как статическую.

-1

Эта ошибка возникает из-за того, что вы объявили child1 как суперкласс любого ребенка1. Естественно, что TestVar там не определен. В довершении, что суперкласс не является динамическим, так что вы должны были бы получить доступ к этой области с:

child1["TestVar"]; 

Это не будет генерировать ошибку компиляции, и не должны иметь никаких проблем с доступом на поле во время выполнения, если экземпляр принадлежит child1 является правильным.

-1

Предположим, вы определили TestVar в MyClass1. В ролях child1 к этому типу:

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

Если это не помогает, пожалуйста, напишите большую часть вашего кода.