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 :

Acceder au propriété d'un Composant dans un Canteneur


Sujet :

Flex

  1. #1
    Nouveau membre du Club
    Inscrit en
    Mai 2008
    Messages
    191
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 191
    Points : 35
    Points
    35
    Par défaut Acceder au propriété d'un Composant dans un Canteneur
    Voici un exemple de code que soulève mon pb :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    <?xml version="1.0" encoding="utf-8"?>
    <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
    
            <mx:Script> 
            <![CDATA[
            
            private function hideButtonM1():void
            {
                    id_bt.visible = false;          
            }
    
            private function hideButtonM2(ca:String, cb:String, bt:String):void
            {
                    ???.visible = false;            
            }
    
            ]]>
            </mx:Script>  
    
            <mx:Canvas x="449" y="23" width="301" height="121" id="id_ca">
                    <mx:ApplicationControlBar x="10" y="10" width="280" id="id_cb" height="101">
                            <mx:Button label="Hide Me" id="id_bt" width="263" height="76"/>
                    </mx:ApplicationControlBar>
            </mx:Canvas>
            
            <mx:Button x="477.5" width="244" y="225" label="Hide - Button 02 - Directement"  click="hideButtonM1()"/>
            <mx:Button x="477.5" width="244" y="264" label="Hide - Button 02 - Dynamiquement"  click="hideButtonM2('id_ca', 'id_cb', 'id_bt')"/>
            
    </mx:Application>
    Je chercherais a faire fonctionner hideButtonM2(), qui aurait le même but que hideButtonM1().

    En somme il me faudrait quelque chose (a la place du ???) comme :
    getChildByName(ca).getChildByName(cb).getChildByName(bt).visible = false;

    Voila,
    Merci

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    793
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Avril 2009
    Messages : 793
    Points : 894
    Points
    894
    Par défaut
    oui, et donc ???

    Soit tu as accès directement à l'instance de ton bouton et tu utilises :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    private function hideButtonM2( btn : Button ):void
    {
        btn.visible = false;          
    }
    Soit tu peux faire comme tu le proposes (ce qui n'as pas beaucoup d'intérêt dans ton exemple, mais j'imagine que l'exemple est juste destiné à illustrer tes propos)

    En fait je ne comprends pas bien où est le problème...
    jyl@xx
    "Simplicity does not precede complexity, but follows it." Alan Perlis

  3. #3
    Nouveau membre du Club
    Inscrit en
    Mai 2008
    Messages
    191
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 191
    Points : 35
    Points
    35
    Par défaut
    En fait je ne comprends pas bien où est le problème...
    Oui effectivement, mais sans le vouloir tu m'a donner une indication de taille.

    Je crois donc que tu as bien résolu mon pb

    Le pb venait que je ne savais pas que l'on pouvait passer un parametre de type 'Button', du coup moi je passé tout en 'String', et je recupéré après avec getChildByName, ce qui dans ce cas la par ex me posait de vrai pb !

    Alors du coup puisque je découvre, je me pose la question, suivante :

    C'est plus lourd non au niveau mémoire (voir proc) de passer un parametre de type 'button' et non de type 'string' ?


    voila,,
    un grand merci a toi

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    793
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Avril 2009
    Messages : 793
    Points : 894
    Points
    894
    Par défaut
    C'est plus lourd non au niveau mémoire (voir proc) de passer un parametre de type 'button' et non de type 'string' ?
    En fait non ce serait plutôt l'inverse. Les paramètres sont des objets passés par référence avec un cas particulier pour les types "primitifs". Une copie des variables de ce type est effectuée si elles sont modifiées dans la fonction.


    Passing arguments by value or by reference

    In many programming languages, it's important to understand the distinction between passing arguments by value or by reference; the distinction can affect the way code is designed.

    To be passed by value means that the value of the argument is copied into a local variable for use within the function. To be passed by reference means that only a reference to the argument is passed instead of the actual value. No copy of the actual argument is made. Instead, a reference to the variable passed as an argument is created and assigned to a local variable for use within the function. As a reference to a variable outside the function, the local variable gives you the ability to change the value of the original variable.

    In ActionScript 3.0, all arguments are passed by reference, because all values are stored as objects. However, objects that belong to the primitive data types, which includes Boolean, Number, int, uint, and String, have special operators that make them behave as if they were passed by value.
    jyl@xx
    "Simplicity does not precede complexity, but follows it." Alan Perlis

  5. #5
    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
    Points : 3 189
    Points
    3 189
    Par défaut
    Tu ne passes pas une nouvelle instance d'un bouton, mais plutôt l'emplacement mémoire de celui ci, ce n'est donc pas plus lourd.

    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

  6. #6
    Nouveau membre du Club
    Inscrit en
    Mai 2008
    Messages
    191
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 191
    Points : 35
    Points
    35
    Par défaut
    Ok, super merci

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

Discussions similaires

  1. [2.x] Acceder aux propriété de l'objet dans un FormType
    Par jejeman dans le forum Symfony
    Réponses: 2
    Dernier message: 04/06/2014, 09h54
  2. Acceder aux propriétés d'un composant depuis un thread
    Par franckcl dans le forum Composants VCL
    Réponses: 9
    Dernier message: 19/03/2013, 16h38
  3. Réponses: 1
    Dernier message: 16/06/2008, 13h01
  4. Réponses: 1
    Dernier message: 13/05/2008, 09h53
  5. Réponses: 2
    Dernier message: 17/11/2007, 13h52

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