Ошибка времени выполнения при компиляции приложения Flex с ANT - PullRequest
2 голосов
/ 19 сентября 2009

Я использую лицензионную версию Flex Builder Pro для разработки приложения.

Я успешно скомпилировал swc и сгенерировал swf, используя задачи ANT. Он также содержит расширенную сетку данных. Когда к этому приложению обращаются, я получаю ошибку во время выполнения, и он не загружается.

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 () при функции / http://adobe.com/AS3/2006/builtin::apply() в mx.core :: UIComponent / callLaterDispatcher2 () в mx.core :: UIComponent / callLaterDispatcher ()

Я добавляю datavisualization.swc и datavisualization_rb.swc в пути сборки.

Как я могу успешно скомпилировать приложение без каких-либо ошибок во время выполнения?

Пожалуйста, помогите.

Ответы [ 3 ]

0 голосов
/ 13 января 2010

Может быть, это поможет: http://kb2.adobe.com/cps/403/kb403121.html

0 голосов
/ 26 января 2010

По стечению обстоятельств у меня была такая же ошибка пару дней назад. Источником этой проблемы была созданная мной библиотека, которая была статически связана с более старой версией библиотек данных. Обычно библиотеки должны быть скомпилированы только для других библиотек с использованием параметра компилятора external-library-path, но эта библиотека была скомпилирована неправильно.

Таким образом, эта библиотека содержала более старые части datavisualization, на которые ссылался код в библиотеке, тогда как мой код ссылался на более новые части из самой библиотеки datavisualization. Результатом было сочетание старых и новых классов datavisualization во время выполнения.

Итак, проверьте SWC, которые вы включили в путь к вашей библиотеке. Вы можете извлечь их с помощью инструмента ZIP. Там вы найдете файл catalog.xml. Найдите mx / controls / AdvancedDataGrid в этом файле. Если вы видите его в каталоге, вы нашли поддельную библиотеку.

0 голосов
/ 19 сентября 2009

Включите swcs в путь к библиотеке, как показано здесь .

...