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 :

Conflit avec plusieurs instances d'un même composant


Sujet :

Flex

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 13
    Par défaut Conflit avec plusieurs instances d'un même composant
    Bonjour à tous,

    Débutant en flex, je me trouve confronté à un petit problème que je vais tenter de vous expliquer.

    J'ai besoin d'un tabNavigator, qui aura du contenu avec exactement la même structure dans chaque onglet (une applicationContolBar avec quelques champs de formulaires et boutons, + un conteneur html (le projet est en AIR).

    Pour éviter de dupliquer le code, j'ai donc décidé de créer un petit composant qui contiendrait la barre de navigation et le conteneur html, pour l'inclure dans chaque onglet. Ca me donne donne quelque chose du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    <mx:TabNavigator id="tn"  width="100%" height="100%" creationPolicy="all">
                <mx:VBox label="Annuaire 1" id="ann1">
                	<cpt:Moncomposant  id="refi"/>
                </mx:VBox>
                <mx:VBox label="Annuaire 2" id="ann2">
                	<cpt:Moncomposant  id="ref2"/>
                </mx:VBox>
                <mx:VBox label="Annuaire 3" id="ann3">
                	<cpt:Moncomposant  id="ref3"/>
                </mx:VBox>
    </mx:TabNavigator>
    Mon composant est caractérisé par un fichier MXML et un fichier .as
    Le fichier MXML décrit l'interface. J'ai placé des id aux composants pour pouvoir les manipuler depuis le fichier as.

    Lorsque mon composant est completement créé, je déclanche la fonction init qui ajoute va aller interroger ma base de données pour me retouner une url, que je souhaite mettre en location sur le composant HTML de mon onglet (chaque url retournée est différente, donc chaque onglet devrait afficher une page différente).

    Le code qui correspond :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    webServ.getUrl.addEventListener(ResultEvent.RESULT, this.getUrl_RESULT);
    main.webServ.getUrl();
    et un extrait de la gestion de la réponse :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    var url:String = rep.url;
    idDeMonComposantHTML.location = url;
    Et le probleme vient de la dernière ligne. L'url est appliquée sur chaque composant HTML de mon tabNavigator....

    Avez vous une idée de la cause du problème ?
    J'espere avoir expliqué mon problème assez clairement.
    Merci d'avance



    Ps: En supprimant le listener dès la réception de la réponse, et en chargeant les onglets les uns après les autres, je n'ai pas le probleme. Mais lorsque que je les charge tous à l'initialisation (creationPolicy="all") même la suppresion du listener ne change rien...

  2. #2
    Membre Expert
    Avatar de Jim_Nastiq
    Homme Profil pro
    Architecte, Expert Flex
    Inscrit en
    Avril 2006
    Messages
    2 335
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte, Expert Flex
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 335
    Par défaut
    Salut,

    ou fais tu ton affectation d'url? il te faut indiquer quelle instance de ton composant doit étre affecté par le changement d'url, genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ann1.idDeMonComposantHTML.location = url;

    Pensez vraiment à effectuer une recherche avant de poster, ici et sur un moteur de recherche! c'est la moindre des choses
    Pensez au tag

    Mon Blog sur la techno Flex
    Ma page sur Developpez.com

    Jim_Nastiq

Discussions similaires

  1. Ouvrir plusieurs instances d'un même Etat
    Par SansSucre dans le forum IHM
    Réponses: 4
    Dernier message: 06/07/2007, 16h53
  2. conflits avec plusieurs thread ?
    Par ac/dc dans le forum C++Builder
    Réponses: 4
    Dernier message: 16/04/2007, 20h47
  3. Plusieurs instances d'un même objet
    Par speedster dans le forum Hibernate
    Réponses: 1
    Dernier message: 28/12/2006, 11h46
  4. Réponses: 2
    Dernier message: 11/12/2006, 13h15
  5. Réponses: 2
    Dernier message: 26/10/2006, 10h13

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