2

我正在使用 Flex Builder Pro 的许可版本来开发应用程序。

我使用 ANT 任务编译了 swc 并成功生成了 swf。它还包含一个高级数据网格。访问此应用程序时,我收到运行时错误并且无法加载。

TypeError:错误#1007:尝试在非构造函数上进行实例化。在 mx.controls::AdvancedDataGridBaseEx/getSeparator() 在 mx.controls::AdvancedDataGridBaseEx/createHeaderSeparators() 在 mx.controls::AdvancedDataGrid/createHeaderSeparators() 在 mx.controls::AdvancedDataGridBaseEx/drawSeparators() 在 mx.controls:: AdvancedDataGridBaseEx/updateDisplayList() 在 mx.controls::AdvancedDataGrid/updateDisplayList() 在 mx.controls.listClasses::AdvancedListBase/validateDisplayList() 在 mx.managers::LayoutManager/validateDisplayList() 在 mx.managers::LayoutManager/doPhasedInstantiation( ) 在 Function/ http://adobe.com/AS3/2006/builtin::apply() 在 mx.core::UIComponent/callLaterDispatcher2() 在 mx.core::UIComponent/callLaterDispatcher()

我在构建路径中添加了 datavisualization.swc 和 datavisualization_rb.swc。

如何在没有任何运行时错误的情况下成功编译应用程序?

请帮忙。

4

3 回答 3

0

巧合的是,几天前我遇到了同样的错误。这个问题的根源是我构建的一个库,它与旧版本的数据可视化库静态链接。通常,库只能使用 external-library-path 编译器选项针对其他库进行编译,但该库编译不正确。

因此,该库包含由库中的代码引用的数据可视化的旧部分,而我的代码引用了数据可视化库本身的较新部分。结果是在运行时混合了旧的和新的数据可视化类。

因此,请检查您包含在库路径中的 SWC。您可以使用 ZIP 工具提取这些内容。然后,您将在其中找到一个 catalog.xml 文件。在此文件中搜索 mx/controls/AdvancedDataGrid。如果您可以看到它包含在目录中,那么您已经找到了伪造的图书馆。

于 2010-01-25T21:58:43.353 回答
0

也许这有帮助: http: //kb2.adobe.com/cps/403/kb403121.html

于 2010-01-13T08:42:05.300 回答
0

将 swcs 包括在库路径中,如此处所示

于 2009-09-18T20:35:15.770 回答