質問

it's work: FlexGlobals.topLevelApplication.addElement(item); but it's not:

public var app:Object = FlexGlobals.topLevelApplication;
trace(app) //it's null
app.addElement(item);

Error: Cannot access a property or method of a null object reference.

Why it's not working via variable?

Edit: it's working in function like that:

private function bekleticiEkle():void{
    var app:Object = FlexGlobals.topLevelApplication;
    trace(app) //it's testClientApp0
    var item:Label = new Label;
    item.text = "Test";
    app.addElement(item);
}
役に立ちましたか?

解決

I found the solution. We must define it when application is created. So first, use it:

private var app:Object;
protected function init(event:FlexEvent):void
{
    app = FlexGlobals.topLevelApplication;
}
private function doSomething():void
 trace(app)
}

他のヒント

Check this line at

public var app:Object = FlexGlobals.topLevelApplication;

it should be

public var app:Object = new object(); app = FlexGlobals.topLevelApplication;

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top