2010-08-19 2 views
19

Nous migrons notre application Flex-3.2 vers Flex 4.1, principalement pour tirer parti des nouvelles fonctions de flux de texte/moteur. Dans une première étape, nous avons décidé de passer à la compilation pour MX uniquement et en mode Flex-3-compatibilité.Problèmes d'exécution après la migration de Flex3 vers 4 en mode de compatibilité

Merci à quelques ressources utiles (

http://www.adobe.com/devnet/flex/articles/flexbuilder3_to_flashbuilder4.html

Any Flex 4 migration experience?

http://www.adobe.com/devnet/flex/articles/flex3and4_differences_02.html

) Je suis en mesure de compiler notre application. Mais je suis surpris par la quantité de différences d'exécution allant du problème que je n'arrive pas à transformer ResultEvent.currentTarget en HTTPService (qui a apparemment été introduit en 3.5) en de nombreux problèmes de mise en page à des différences dans l'envoi d'événements (par ex. les composants hérités écoutent l'événement add auquel il ne semble plus rien).

Il semble qu'il y ait très peu de documentation à ce sujet. Je voudrais trouver une liste avec des changements détaillés afin que nous n'ayons pas besoin de compter sur l'assurance qualité pour trébucher sur tous les problèmes.

This documents lists some, mais ne semble pas exhaustive. Est-ce que quelqu'un a une meilleure liste de changements documentés?

Merci Stefan

PS. Liste des exemples concrets que j'ai trouvé à ce jour:

1) Dans Flex 4 cas d'ajout ne se déclenche pas:

<?xml version="1.0" encoding="utf-8"?> 
<mx:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
       xmlns:mx="library://ns.adobe.com/flex/mx" layout="absolute" minWidth="955" minHeight="600"> 

    <fx:Script> 
     <![CDATA[ 

      private function notFired():void 
      { 
       trace("ADDED"); 
      } 

      private function fired():void 
      { 
       trace("COMPLETE"); 
      } 
     ]]> 
    </fx:Script> 

    <mx:TextArea add="notFired();" creationComplete="fired();"/> 

</mx:Application> 

maintenant la même chose dans Flex 3 et vous verrez les deux événements Feu.

Apparemment, this is a bug. Peut-être possible de contourner cela, mais diminue certainement mon niveau ou la confiance substantiellement.

2) Les boîtes de dialogue/popups affichent tout le contenu en miroir.

A bug as well. Facile à contourner, mais comment pourrait-il glisser quelque chose?

3) Problèmes avec les caractères "Ôª" injectés.

See post here.

+1

Vous aurez plus de chance si vous posez des questions spécifiques pour résoudre des problèmes spécifiques. – JeffryHouser

+1

La question est la suivante: existe-t-il une liste de changements du SDK 3.2 au 4.1? Étant donné le problème concret que l'add-event ne tire pas comme il le faisait et en observant de nombreuses différences lors de l'exécution de mon application en 3 comparé à 4 (avec compatibilité), je crains de devoir parcourir tous les chemins d'exécution problèmes qui est tout à fait une tâche. – Stefan

+0

@Stefan - c'est après tout la raison pour les tests unitaires :), je sais que ce n'est pas toujours facile ou même possible avec toutes les parties de la fonctionnalité Flash et le fait qu'une grande partie va nécessiter une inspection visuelle, mais c'est un la douleur croissante de la commutation des versions, les choses sont fixes et les fonctionnalités sont introduites et les bogues de régression apparaissent occasionnellement. http://www.adobe.com/devnet/flex/articles/flex3and4_differences.html https://bugs.adobe.com/jira/secure/IssueNavigator.jspa?reset=true&jqlQuery=project+%3D+SDK+AND+status + en +% 28Open% 2C +% 22In + Progress% 22% 2C + Rouvert% 29 – shaunhusain

Répondre

1

Voyons voir certains de vos doutes ...

1) Ajouter jamais été un événement fiable depuis flash player 9 version. C'est un bug commun. Essayez de créer un MovieClip hors de la liste d'affichage et ajoutez un enfant qui a le programme d'écoute Event.ADDED. Dans certaines situations (je ne sais pas exactement dans quelle situation) cela ne fonctionne pas (Adobe Fail). Mais, au lieu de l'événement "add" flex, utilisez le "added" ou "addedToStage" une fois que vous voulez détecter si elle est déjà dans votre liste d'affichage des applications.

2) Échec. Vérifiez le code source du gestionnaire de disposition du framework.

3) Je n'ai jamais vu ça. (Même en mode de compatibilité). Pouvez-vous donner un exemple? Avez-vous vérifié si le codage de l'application est le même que celui que vous utilisez sur vos chaînes? Peut-être que la table de chaîne pourrait faire une certaine confusion en raison des encodages de caractères (ou peut-être votre éditeur). Essayez d'autres éditeurs et vérifiez le contenu du fichier de code sur un shell Linux avec SED. Avec une trouvaille et une sed vous pouvez le réparer facilement.

+0

Merci pour votre contribution. 3) pourrait concerner la copie de code provenant d'autres sources telles que Komodo dans Flex Builder, qui a alors commencé à causer des problèmes dans Flash Builder 4. J'ai ouvert cette demande pour une liste complète de changements environ 6 mois et nous avons finalement déplacé notre application à Flash Builder 4 Je le ferme maintenant. – Stefan

+0

Vous recherchez le code de caractère ANCII correct et essayez de le saisir dans le code en maintenant la touche ALT enfoncée et en tapant le numéro de caractère avec les touches numériques. Par exemple ALT + 0128 produit le signe €. – Cninroh

Questions connexes