我正在使用Flex Builder Pro的许可版本来开发应用程序。
我使用ANT任务编译了swc并成功生成了swf。 它还包含高级数据网格。访问此应用程序时,我收到运行时错误,无法加载。
TypeError:错误#1007:在非构造函数上尝试实例化。 在mx.controls :: AdvancedDataGridBaseEx / getSeparator() 在mx.controls :: AdvancedDataGridBaseEx / createHeaderSeparators() 在mx.controls :: AdvancedDataGrid / createHeaderSeparators() at mx.controls :: AdvancedDataGridBaseEx / drawSeparators() at mx.controls :: AdvancedDataGridBaseEx / updateDisplayList() 在mx.controls :: AdvancedDataGrid / updateDisplayList() 在mx.controls.listClasses :: AdvancedListBase / validateDisplayList() 在mx.managers :: LayoutManager / validateDisplayList() 在mx.managers :: LayoutManager / doPhasedInstantiation() 在功能/ http://adobe.com/AS3/2006/builtin::apply() 在mx.core :: UIComponent / callLaterDispatcher2() 在mx.core :: UIComponent / callLaterDispatcher()
我在构建路径中添加datavisualization.swc和datavisualization_rb.swc。
如何在没有任何运行时错误的情况下成功编译应用程序?
请帮忙。
答案 0 :(得分:0)
将swcs包含在库路径中,如图here所示。
答案 1 :(得分:0)
答案 2 :(得分:0)
巧合的是,几天前我也有同样的错误。这个问题的根源是针对我构建的库,它与旧版本的数据可视化库静态链接。通常,只应使用external-library-path编译器选项对其他库编译库,但此库编译错误。
因此,该库包含了库中代码引用的数据可视化的较旧部分,而我的代码引用了数据可视化库本身的较新部分。结果是在运行时混合了较旧和较新的数据可视化类。
因此,请检查您在库路径中包含的SWC。您可以使用ZIP工具提取这些内容。然后,您将在其中找到catalog.xml文件。在此文件中搜索mx / controls / AdvancedDataGrid。如果您可以看到它包含在目录中,您就找到了伪造的库。