2011-03-13 1 views
2

Je suis confronté à un problème vraiment étrange en essayant d'utiliser un fichier "swc" importé de Flash CS5, que j'essaie d'utiliser dans Flex Builder 3 (par convertir le symbole en "Composant Flex"). Les erreurs arrivent dans des fichiers qui ne sont même pas liés au fichier "swc" que j'importe. Maintenant, je sais que l'automatisation fait partie de FB4, mais je n'ai pas vraiment l'option de migrer vers FB4.erreurs d'automatisation dans Flex Builder 3 lors de l'importation d'un fichier swc à partir de Flash CS 5

J'ai essayé de modifier les paramètres flex sdk dans Flash CS5 (étapes indiquées ci-dessous), mais cela n'a pas aidé. Édition -> Préférences -> Actionscript -> "Paramètres ActionScript 3.0" -> "Flex SDK Path" (pointant vers flex3.5 sdk au lieu de Flex4.0 sdk)

Je pense que le problème est probablement un problème de compatibilité b/w Flex 3 et Flex 4, mais n'ont pas été en mesure de trouver une solution de rechange pour le même. Toute aide est grandement appréciée.

Merci, Kapil

Voici la trace:

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. 

Répondre

0

OK, d'abord, l'erreur: cela signifie que Flash probablement généré une classe pour le symbole que vous importez en utilisant un certain modèle, où le modèle ne correspond pas au SDK que vous utilisez pour compiler le projet. Plus précisément, la classe générée n'a pas implémenté les méthodes répertoriées dans le message d'erreur. C'est à dire. votre framework.swc a une définition de mx.automation: IAutomationObject méthode qui a createAutomationIDPartWithRequiredProperties() (nice nom BTW), mais le code généré Flash qui se lit comme

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

Puisque vous ne pouvez rien faire à propos de Flash ne génère pas la méthode vous avez besoin, votre seul moyen est de monkeypatch le SDK. C'est à dire. Copiez le fichier mx/automation/IAutomationObject.as à partir des sources SDK vers le chemin de classe de votre projet. Supprimez la déclaration de méthode en conflit (cela peut ou non entraîner d'autres erreurs). Si cela entraîne d'autres erreurs, répétez la même procédure pour chaque classe qui "se comporte mal" ...

Cependant, monkeypatching signifiera que vous n'êtes plus en mesure d'utiliser les RSL framework, car ils viendront avec la version originale. Donc, j'essaierais d'éviter complètement le problème et de chercher un autre moyen d'exporter des symboles depuis l'IDE Flash, par exemple, en ne les rendant pas un composant Flex. Ou, si vous insistez vraiment sur le fait qu'ils soient un composant Flex, alors amorcer le FlexSprite, par exemple, et assignez vos symboles Flash la classe bootstrap comme la "classe parente".

+0

Salut Wvxw .... merci pour votre réponse. Nous avons finalement réussi à contourner le problème en créant les fichiers swc à partir d'Adobe CS4 ..... nous migrons également vers FB4 maintenant .... alors j'espère que ce ne sera pas un problème !! –

0

J'avais aussi ce problème récemment. J'obtiendrais les erreurs quand j'ai inclus le swc généré par flash dans mon dossier lib de projets flexibles.

J'ai été capable de contourner le problème en améliorant mon flex au SDK flexible 4.5.1.21328A.

Détails supplémentaires sur mon projet pouvant aider les autres: Mon swc a été généré à partir de Flash Professional CS5.5 et mon projet Flex était utilisé dans Flash Builder 4.5.

Mon swc a été publié sur Flash Player 9 avec ActionScript 3.0. Mon projet flexible utilisait le SDK 3.5.0.12683.

Questions connexes