IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Flex Discussion :

Problème lors de l'instanciation d'un composant ActionScript 3 [Flex3]


Sujet :

Flex

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Homme Profil pro
    Tech Lead
    Inscrit en
    Novembre 2006
    Messages
    120
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Tech Lead
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Novembre 2006
    Messages : 120
    Par défaut Problème lors de l'instanciation d'un composant ActionScript 3
    Bonjour à tous,

    J'ai fais un composant d'affichage de carte. Il marche très bien sauf que maintenant il faudrait qu'il puisse afficher une légende.
    Cependant je rencontre un phénomène assez surprenant et je voudrais voir avec d'autres devs si par hasard ils auraient ce problème également...
    Lors de la construction d'un composant flex on observe 6 phases :
    1. Instanciation
    2. Définition des propriétés
    3. Création des composants enfants
    4. Commit des propriétés
    5. Mesure de la taille du composant
    6. Dessin du composant sur la scène.

    Or dans mon cas, et je sais pas pourquoi, il passe à la création des composants enfants avant d'avoir fini de définir les propriétés... Du coup dans ma phase de création d'enfant je fais appel a des choses qui ne sont pas définies : Mon objet de définition de légende...
    Et après Flex appelle le dernier setter qu'il a pas appelé avant de faire le createChildren()

    Donc si quelqu'un avait une idée de comment est ce que ça peut arriver, je suis preneur

    Merci d'avance

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    124
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 124
    Par défaut
    Et après Flex appelle le dernier setter qu'il a pas appelé avant de faire le createChildren()
    Ça me semble normal. Le setter appelés correspondent à la phase de commit des propriétés, pas à la phase de définition.
    Pour éviter les soucis que tu rencontres, lance les mécanisme de création de légende sur l'évènement creationComplete de ton composant.

    Charles.

  3. #3
    Membre éprouvé
    Homme Profil pro
    Tech Lead
    Inscrit en
    Novembre 2006
    Messages
    120
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Tech Lead
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Novembre 2006
    Messages : 120
    Par défaut
    Ben du coup,

    J'ai mis le addChildren() dans le updateDisplayList() et ça fonctionne, même si j'avoue que je ne suis pas particulière fière de la propreté de la chose...

    En tout cas merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [palo etl] Problème lors de test de composant
    Par Hydre dans le forum Autres outils décisionnels
    Réponses: 1
    Dernier message: 11/08/2010, 09h29
  2. Problème lors de l'utilisation d'un composant utilisant TComPort
    Par Letinono dans le forum Composants VCL
    Réponses: 0
    Dernier message: 21/05/2008, 09h34
  3. Création de composants: Problème lors du Destroy
    Par fred64 dans le forum Langage
    Réponses: 17
    Dernier message: 13/12/2007, 22h42
  4. Problème lors de l'installation d'un composant
    Par bm10 dans le forum Composants VCL
    Réponses: 4
    Dernier message: 28/09/2005, 16h42
  5. Réponses: 2
    Dernier message: 17/08/2003, 20h07

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo