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

MXML Discussion :

MXML & Héritage


Sujet :

MXML

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Septembre 2003
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 52
    Par défaut MXML & Héritage
    Bonjour à tous,

    Cela fait maintenant un petit moment que je teste Flex Builder 3 pour réaliser différentes interfaces mais aujourd'hui je suis face à un problème pour lequel je n'ai pas d'explication ni de solution.

    J'ai un composant MXML "FrmDetail" qui dérive d'un TitleWindow sur lequel j'ajoute un Canvas. Ensuite je déclare un nouveau composant MXML qui dérive lui de "FrmDetail" et que j'appelle "FrmDetailA".
    Le problème se pose ensuite lorsque je veux rajouter un bouton (par exemple) directement sur "FrmDetailA".

    1. Via Flex Builder en mode Design, le glisser/déposer d'un composant de la palette sur mon canvas (du FrmDetailA) n'aboutit à rien.
    2. En ajoutant le code MXML de mon composant puis en repassant en mode Design j'obtiens ce message: "Plusieurs ensembles denfants visuels ont été spécifiés pour la balise {0}".

    Venant du monde Delphi, j'étais habitué à ce procédé mais là je pense qu'il me manque quelque chose pour que cela fonctionne je tâtonne.

    Merci encore si vous pouvez m'aider.
    Cdt
    Greg

  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,

    Le mode design essaye de faire sans, c'est un conseil
    Comme tout éditeur WYSIWYG c'est loin d'etre terrible
    Après pour ton soucis, si on se limite au code, tu ne peux pas ajouter un bouton a ton composant perso FrmDetailA, c'est bien ca?

    Peux tu poster un extrait de code qui illustre ton problème?

    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

  3. #3
    Membre averti
    Inscrit en
    Septembre 2003
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 52
    Par défaut
    Alors voici un exemple:

    FrmDetail:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <?xml version="1.0" encoding="utf-8"?>
    <mx:TitleWindow xmlns:mx="http://www.adobe.com/2006/mxml" width="400" height="300">
    	<mx:Button label="Bouton"/>
     
    </mx:TitleWindow>
    FrmDetailA (hérite de FrmDetail):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <?xml version="1.0" encoding="utf-8"?>
    <local:FrmDetail xmlns:mx="http://www.adobe.com/2006/mxml" xmlns:local="*" width="400" height="300">
    	<mx:Button label="Bouton2"/>
    </local:FrmDetail>
    Voilà, ensuite si je veux rajouter un bouton, je peux faire cela:

    FrmDetailA:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <?xml version="1.0" encoding="utf-8"?>
    <local:FrmDetail xmlns:mx="http://www.adobe.com/2006/mxml" xmlns:local="*" width="400" height="300">
    	<mx:Button label="Bouton2"/>
    </local:FrmDetail>
    Mais cela ne fonctionne pas du tout et j'ai ce message d'erreur lorsque je passe en mode Design:

    "Plusieurs ensembles denfants visuel ont été spécifiés pour la balise {0}"

    Voilà :-(

    Merci

  4. #4
    Membre averti
    Inscrit en
    Septembre 2003
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 52
    Par défaut
    Re Bonjour,

    En fait ce n'est pas possible :-(

    Il y aurait bien un moyen en ajoutant un peu de code AS3 et par programmation ajouter les composants mais pas via le mode Design.

    Pour vos recherche sur le net, cherchez ce message "multiple sets of visual children have been specified"

    Limitation du SDK donc je vais faire autrement et faire quelque chose de moins structuré :-(.

    Merci Jim_Nastiq pour ta réponse.

  5. #5
    Membre chevronné
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    319
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2004
    Messages : 319
    Par défaut
    Enf ait si on peut mais on ne peut pas ajouter de composant dans la classe "mère" ; tu peux y ajouter des styles et des comportements par contre (enfin ce que je dis est basé surmon expérience pas sur une doc )

Discussions similaires

  1. [Postgresql]Héritage
    Par lheureuxaurelie dans le forum PostgreSQL
    Réponses: 13
    Dernier message: 02/10/2008, 09h18
  2. [XML Schemas]héritage multiple
    Par nicolas_jf dans le forum XML/XSL et SOAP
    Réponses: 2
    Dernier message: 10/06/2003, 12h55
  3. [Postgres] Héritage + Clés
    Par k-reen dans le forum PostgreSQL
    Réponses: 6
    Dernier message: 21/05/2003, 16h37
  4. Héritage entre Forms
    Par BarBal dans le forum Composants VCL
    Réponses: 7
    Dernier message: 29/08/2002, 17h44

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