ошибки автоматизации в Flex Builder 3 при импорте SWC из Flash CS 5 - PullRequest
2 голосов
/ 13 марта 2011

Я сталкиваюсь с очень странной проблемой при попытке использовать файл «swc», импортированный из Flash CS5, который я пытаюсь использовать в Flex Builder 3 (путем преобразования символа в «Flex Component»). Ошибки появляются в файлах, которые даже не связаны с файлом «swc», который я импортирую.

Теперь я знаю, что средства автоматизации стали частью FB4, но у меня нет возможности перейти на FB4.

Я пытался изменить настройки Flex SDK во Flash CS5 (шаги приведены ниже), но это не помогло. Правка -> Настройки -> Actionscript -> «Настройки Actionscript 3.0» -> «Путь Flex SDK» (указывает это на flex3.5 sdk вместо Flex4.0 sdk)

Мне кажется, что проблема, скорее всего, связана с совместимостью ч / б Flex 3 и Flex 4, но мне не удалось найти обходной путь для того же. Любая помощь с благодарностью.

Спасибо, Капил

Вот след:

Severity and Description    Path    Resource    Location    Creation Time   Id
1044: Interface method createAutomationIDPartWithRequiredProperties in namespace mx.automation:IAutomationObject not implemented by class com.sparsha.view.ui:SchematicWindow.
1044: Interface method createAutomationIDPartWithRequiredProperties in namespace mx.automation:IAutomationObject not implemented by class 
1044: Interface method get automationEnabled in namespace mx.automation:IAutomationObject not implemented by class com.sparsha.lib.controls:CloseableTabBar.    
1044: Interface method get automationEnabled in namespace mx.automation:IAutomationObject not implemented by class 
1044: Interface method get automationEnabled in namespace mx.automation:IAutomationObject not implemented by class com.sparsha.lib.layouts:DockedAppLayout. 

Ответы [ 2 ]

0 голосов
/ 30 марта 2012

У меня тоже недавно была эта проблема.Я получаю ошибки, когда я включаю сгенерированный флэш-файл swc в папку lib моих проектов.

Я смог обойти эту проблему, обновив свой flex до flex 4.5.1.21328A SDK.

Дополнительные сведения о моем проекте, которые могут помочь другим: мой swc был сгенерирован из Flash Professional CS5.5, а мой Flex Project использовался в Flash Builder 4.5.

Мой swc был опубликован в Flash Player 9 с ActionScript3.0.Мой проект flex использует SDK 3.5.0.12683.

0 голосов
/ 11 октября 2011

ОК, во-первых, ошибка: это означает, что Flash, вероятно, сгенерировал класс для символа, который вы импортируете, используя определенный шаблон, где шаблон не соответствует SDK, который вы используете для компиляции проекта.В частности, сгенерированный класс не реализовал методы, перечисленные в сообщении об ошибке.Т.е. ваш framework.swc имеет определение mx.automation: IAutomationObject, у которого есть метод createAutomationIDPartWithRequiredProperties () (хорошее имя btw), но сгенерированный Flash код, который читается как

package com.sparsha.view.ui {
import mx.automation:IAutomationObject;
public class SchematicWindow implements IAutomationObject { . . . } }

, так как вы ничего не можете сделать с Flash, неГенерация нужного вам метода - единственный способ установить пакет SDK.Т.е. скопируйте mx / Automation / IAutomationObject.as из исходников SDK в путь к классам вашего проекта.Удалите конфликтующее объявление метода (это может привести или не привести к другим ошибкам).Если это приведет к дальнейшим ошибкам, повторите ту же процедуру для каждого класса, который "плохо себя ведет" ...

Однако, monkeypatching будет означать, что вы больше не сможете использовать базовые RSL, так как они будут поставляться с оригинальнымверсия.Итак, я бы попытался полностью избежать этой проблемы и искать другой способ экспорта символов из Flash IDE, например, не делая их компонентом Flex.Или, если вы действительно настаиваете на том, чтобы они были компонентом Flex, загрузите, например, FlexSprite, и присвойте своим символам Flash загруженный класс как «родительский класс».

...