2

我们有一个相当大的 Flex 应用程序,并且我们的 QA 出现了 Flex 开发人员无法重现的随机但可重现的错误。其中一些错误是从 Flash 播放器调试版本中抛出的,例如:

ReferenceError: Specified ApplicationDomain does not contain the class ::LineSeriesLegendMarker
    at org.spicefactory.lib.reflect::ClassInfo$/getClassDefinitionByName()
    at org.spicefactory.lib.reflect::ClassInfo$/getClassInfo()
    at org.spicefactory.lib.reflect::ClassInfo$/forInstance()
    at org.spicefactory.parsley.core.view.impl::DefaultViewConfigurator/getDefinitionByType()
    at org.spicefactory.parsley.core.view.impl::DefaultViewConfigurator/getDefinition()
    at org.spicefactory.parsley.core.view.handler::ViewAutowireHandler/processAutowireEvent()
    at org.spicefactory.parsley.core.view.util::ContextAwareEventHandler/handleEvent()
    at org.spicefactory.parsley.core.view.handler::ViewAutowireHandler/handleAutowireEvent()
    at flash.events::EventDispatcher/dispatchEventFunction()
    at flash.events::EventDispatcher/dispatchEvent()
    at org.spicefactory.parsley.core.view.handler::ViewAutowireHandler/prefilterView()
    at flash.display::DisplayObjectContainer/addChildAt()
    at mx.core::UIComponent/http://www.adobe.com/2006/flex/mx/internal::$addChildAt()
    at mx.core::Container/addChildAt()
    at mx.core::Container/addChild()
    at mx.charts::Legend/addLegendItem()
    at mx.charts::Legend/populateFromArray()
    at mx.charts::Legend/commitProperties()
    at mx.core::UIComponent/validateProperties()
    at mx.managers::LayoutManager/validateProperties()
    at mx.managers::LayoutManager/doPhasedInstantiation()
    at mx.managers::LayoutManager/doPhasedInstantiationCallback()

其他错误包括未正确填充组合框以及似乎只是一般的时间问题。

我想强调的是,我们已将其缩小到我们的主要 SWF,除了 mxmlc 参数 -debug=true 与 -debug=false 之外没有其他变量。有没有其他人遇到过这种情况或知道为什么构建会导致不同的行为?

4

1 回答 1

0

你将不得不展示更多的代码;主要是你的欧芹配置。

debug=true 和 debug=false 之间的区别在于 debug=true不会跟踪最终产品中的错误。您的开发人员应始终使用 debug=true 运行并安装 Flash Player Debug。

另外,我很好奇为什么 Parsley 需要了解视图组件。你在使用配置标签吗?我建议您不要使用它,而是将 FastInject 与适当的演示者模型一起使用,这对可测试性更好。配置意味着 Parsley 必须反映您视图中的所有属性,这是无用且耗时的。我保证如果您使用 FastInject 而不是 Configure,您的问题就会消失。除非您尝试将视图注入组件,否则您不应该这样做。如果是这种情况,您将需要以更好的方式构建您的应用程序。

于 2011-06-28T13:08:41.390 回答