您好,我正在迁移flex 3到flex 4,我有一个警告,我试图修复它,但没有工作。
警告是:数据绑定将无法检测toplevelapplication的赋值
在flex3中我有了application.Application,现在我有了FlexGlobals.topLevelApplication
我有1400个FlexGlobals.topLevelApplication和+- 150个.AS文件。
我尝试使用应用程序(FlexGlobals.topLevelApplication)、对象(MainAPP)(FlexGlobals.topLevelApplication),但都不起作用,唯一需要清除的警告是,如果我将可绑定的公共var myApplication:Object = FlexGlobals.topLevelApplication;添加到所有.AS文件,但当我运行项目并尝试登录应用程序时,出现操作脚本错误
错误#1009:无法访问空对象引用的属性或方法。
发布于 2012-12-27 00:04:00
你是对的。访问应用程序的干净方法是通过FlexGlobals.topLevelApplication。
[Bindable]
public var app:mainApp = mainApp(FlexGlobals.topLevelApplication); // fail fast to find erros如果不是这样,您似乎访问该实例的时间太早了。在分派FlexEvent.CREATION_COMPLETE之后,您应该引导应用程序(并从那里继续)。另外,我建议如果在类中引入一个字段,比如
private const app:mainApp = mainApp(FlexGlobals.topLevelApplication); // fail fast to find errors
protected final get app():mainApp { return app; }在您的应用程序中干净地访问该字段,并避免对您的应用程序有太多严重的依赖。
PS:类名,即使后缀为.mxml,也应该以大写字母开头。
https://stackoverflow.com/questions/14042614
复制相似问题