2011-02-03 71 views
0

如果当我运行一个Flex 3.5构建的行星没有正确对齐,immidiatly产生的.swf抛出从_MyAppWatercherSetupUtil一个空对象错误:Flex:生成的错误* WatcherSetupUtil?

 
TypeError: Error #1009: Cannot access a property or method of a null object reference. 
    at _MyAppWatcherSetupUtil/setup() 
    at MyApp/initialize()[/Users/wolever/my_app/MyApp.mxml:0] 
    at mx.managers::SystemManager/http://www.adobe.com/2006/flex/mx/internal::childAdded()[C:\autobuild\3.5.0\frameworks\projects\framework\src\mx\managers\SystemManager.as:2131] 
    at mx.managers::SystemManager/initializeTopLevelWindow()[C:\autobuild\3.5.0\frameworks\projects\framework\src\mx\managers\SystemManager.as:3400] 
    at mx.managers::SystemManager/http://www.adobe.com/2006/flex/mx/internal::docFrameHandler()[C:\autobuild\3.5.0\frameworks\projects\framework\src\mx\managers\SystemManager.as:3223] 
    at mx.managers::SystemManager/docFrameListener()[C:\autobuild\3.5.0\frameworks\projects\framework\src\mx\managers\SystemManager.as:3069] 

有什么我可以做这件事?

我试图调试它,但它似乎是Flex框架超出它的方式,以确保它是不可能的,调试到生成的代码...

+0

任何机会看到你是如何做你的约束力?看起来你的绑定表达式有一些东西在被评估时不会被创建。 – 2011-02-04 14:38:58

+0

这是应用程序的主要MXML文件,因此一堆绑定正在进行。 “绑定表达式有什么不是在被评估时创建的”是什么意思? (这是可能的,我只是不知道我明白) – 2011-02-04 15:31:21

+0

@David我挖了一些代码来看看可能会发生什么,但没有什么明显的跳出来,你可以将开源代码链接到你的swc然后在那里放置断点(在eclipse中ctrl + alt + t基于类名称打开),然后看到该行的确切内容,该行是2131: IUIComponent(child).initialize(); //调用child.createChildren() 所以如果那时候的孩子是空的或者不是IUIComponent,我可以理解这个错误,为什么会发生这样的谜题。 – shaunhusain 2011-02-04 23:09:26

回答

0

这将是有趣的,有在生成的代码一瞥为你的MyAppWatcherSetupUtil类的“设置”方法

0

只是一个想法 - 你是否尝试设置编译器标志 - 保持?像这样,你可以看看你的课程是怎样的。

1

今天我用WatcherSetupUil/setup()TypegrError:Error#1009:无法访问空对象引用的属性或方法。

对我来说,它看起来有一个强大的数据绑定连接。对我来说,如果你不照顾Flex要求的规则,看起来会发生这种情况。我在网上发现了一个资源,我在这里上传:“Flex数据绑定陷阱:10个常见的误用和错误。”更改后 - 在我的情况下,尤其是错误6 - 使用错误的可绑定事件名称 - 将WatcherSetupUtil带走。

也许这对你也有帮助:-)。 http://www.adobe.com/devnet/flex/articles/databinding_pitfalls.html

2

我刚将一个旧的Flex 3应用程序升级到Flex 4.6,并且遇到同样的问题。对我来说有效的是项目干净。到现在为止还挺好。

- 关于