Flex中的全局变量

kor*_*ler 2 apache-flex actionscript-3

我正在尝试使用Flex中的全局变量,它似乎无法正常工作.

在我的默认mxml文件中,我声明了以下内容

           public var appID:int;
Run Code Online (Sandbox Code Playgroud)

此变量用于跟踪我的应用程序中的会话ID以用于SQL.在另一个mxml页面上,我调用以下代码,该代码应将全局变量更新为当前ID.

                // Get the ID
            sqlStatement.text =
                "SELECT Max(id)FROM applications";
            sqlStatement.execute();

            var result:SQLResult;

            result = sqlStatement.getResult();
            FlexGlobals.topLevelApplication.appID = result.data[0];
Run Code Online (Sandbox Code Playgroud)

最后,我使用ID作为参数运行SQL Update查询.我的问题是FlexGlobals.topLevelApplication.appID始终为0,由于某种原因全局变量永远不会更新,我已检查以确保result.data [0]正确但值永远不会传递给全局变量.

有谁看到我在这里做错了什么?或者有没有人有更好的建议来跟踪我的应用程序的ID?

在此先感谢您的帮助!

Cor*_*rey 9

我喜欢创建一个具有静态变量的"Globals"类:

package {
    public class Globals {
        public static var APP_ID:int;
    }
}
Run Code Online (Sandbox Code Playgroud)

然后在另一个类中访问它:

Globals.APP_ID = result.data[0];
Run Code Online (Sandbox Code Playgroud)