【问题标题】:FlexGlobals.topLevelApplication don't work on variable. How to fix?FlexGlobals.topLevelApplication 不适用于变量。怎么修?
【发布时间】:2014-04-21 20:56:08
【问题描述】:

它的工作: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);
}

【问题讨论】:

    标签: actionscript-3 apache-flex air flex4 flex-spark


    【解决方案1】:

    我找到了解决方案。我们必须在创建应用程序时定义它。所以首先,使用它:

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

    【讨论】:

      【解决方案2】:

      处检查这一行

      public var app:Object = FlexGlobals.topLevelApplication;

      应该是

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-12-02
        • 1970-01-01
        • 1970-01-01
        • 2012-12-23
        • 1970-01-01
        相关资源
        最近更新 更多