它的工作原理:FlexGlobals.topLevelApplication.addElement(item); 但事实并非如此:
public var app:Object = FlexGlobals.topLevelApplication;
trace(app) //it's null
app.addElement(item);
错误:无法访问空对象引用的属性或方法。
为什么它不能通过变量工作?
修改 它的工作方式如下:
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);
}
答案 0 :(得分:1)
我找到了解决方案。我们必须在创建应用程序时定义它。首先,使用它:
private var app:Object;
protected function init(event:FlexEvent):void
{
app = FlexGlobals.topLevelApplication;
}
private function doSomething():void
trace(app)
}
答案 1 :(得分:0)
在
处查看此行 public var app:Object = FlexGlobals.topLevelApplication;
应该是
public var app:Object = new object();
app = FlexGlobals.topLevelApplication;