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 :

[AS3] Passage de paramètres à l'application, détection de fermeture


Sujet :

Flex

  1. #1
    Membre habitué Avatar de ludosoft
    Homme Profil pro
    Chef de projet technique
    Inscrit en
    Juillet 2002
    Messages
    99
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projet technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2002
    Messages : 99
    Points : 136
    Points
    136
    Par défaut [AS3] Passage de paramètres à l'application, détection de fermeture
    Bonjour,

    J'annonce la couleur tout de suite, je suis une buse en Flex. Je découvre tout ça depuis seulement quelques heures... Du coup j'ai 3 questions qui me titillent mais qui ne doivent pas relever de l'impossible pour quelqu'un qui maitrise Flex.

    - Comment récupérer les paramètres passés dans la page HTML qui intègre l'appli Flex (du genre <param name="monParam" value="maValeur" />) ?

    - Comment détecter la fermeture de l'application Flex ? Histoire de faire du nettoyage (fermeture de connexion ou autre libération de ressources)...

    - Où trouver la doc complète des classes du framework (du type de ce qu'on a en Java avec la Javadoc) ?

    D'avance merci à vous pour vos réponses !
    Ludo
    Et un d'plus en moins !

  2. #2
    Membre habitué Avatar de greatalain
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2007
    Messages
    124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Novembre 2007
    Messages : 124
    Points : 159
    Points
    159
    Par défaut
    - Comment récupérer les paramètres passés dans la page HTML qui intègre l'appli Flex (du genre <param name="monParam" value="maValeur" />) ?
    Fait passer tes paramètres dans l'url et utilise
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Application.application.parameters["ton paramètre"]
    pour réccupèrer sa valeur

    - Comment détecter la fermeture de l'application Flex ? Histoire de faire du nettoyage (fermeture de connexion ou autre libération de ressources)...
    tout dépand comment tu quitte ton appli, si c'est par le biai d'un bouton, ben tu mets un event listener dessus sinon je sais pas trop si tu peux détecter la fermeture du navigateur par exemple

    Où trouver la doc complète des classes du framework (du type de ce qu'on a en Java avec la Javadoc) ?
    Dans google tape livedocs flex t'aura tout ce qu'il te faut et il y a ca qui est pas mal pour avoir un appercu des composant :
    http://examples.adobe.com/flex2/inpr.../explorer.html

  3. #3
    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
    Pour detecter la fermeture du Browser tu peux ajouter une méthode javascript qui capte l'evenement de fermeture et qui transmet l'info a ton appli flex :

    dans le tag Body de ton HTML tu rajoutes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    onbeforeunload="fermetureBrowserJS();"
    methode javascript:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    function fermetureBrowserJS{
       document.IDdeTonInstanciationFlash.onCloseBrowser();
    }

    dans ton code AS:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    ExternalInterface.addCallback("onCloseBrowser", closeduBrowser);
     
    private function closeduBrowser():void{
       //traitement a faire avant la fermeture
    }

    et le tour est joué

    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

  4. #4
    Membre habitué Avatar de ludosoft
    Homme Profil pro
    Chef de projet technique
    Inscrit en
    Juillet 2002
    Messages
    99
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projet technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2002
    Messages : 99
    Points : 136
    Points
    136
    Par défaut
    Super, rien à dire.
    Merci à vous pour vos réponses !


    J'ajoute que j'ai trouvé ce lien pour la doc : http://livedocs.adobe.com/flex/3/langref/index.html
    Ca peut servir !

    Donc je viens de faire quelques essais mais j'ai un petit problème...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <?xml version="1.0" encoding="utf-8"?>
    <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" themeColor="#000000" width="500" height="400">
        <mx:Script>
        	<![CDATA[
        		import mx.controls.Alert;
        	]]>
        </mx:Script>
    	<mx:Button x="388" y="368" label="Envoyer" width="102" id="bouton" click="mx.controls.Alert.show(Application.application.parameters['test']);"/>
    </mx:Application>
    Quand je clique sur le bouton ça marche impec, j'ai mon paramètre qui s'affiche bien dans une boite d'alerte.
    Par contre quand j'exécute le code suivant, l'application est comme plantée (le fond de l'application reste vide).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <?xml version="1.0" encoding="utf-8"?>
    <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" themeColor="#000000" width="500" height="400">
        <mx:Script>
        	<![CDATA[
        		import mx.controls.Alert;
    			public var monParam:String=Application.application.parameters['test'];
        	]]>
        </mx:Script>
    	<mx:Button x="388" y="368" label="Envoyer" width="102" id="boutonEnvoyer" click="mx.controls.Alert.show(monParam);"/>
    </mx:Application>
    Vous auriez une idée ? Ca ne serait pas dû au fait que l'application n'est pas encore instanciée au moment où ce code est exécute ?

    Merci encore,
    Ludo

    PS : je n'ai pas encore eu le temps de tester la détection de fermeture de navigateur, mais c'est bien cela que je cherchait à détecter. Merci
    Et un d'plus en moins !

  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
    ton code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public var monParam:String=Application.application.parameters['test'];
    n'est jamais exécuté, tout simplement! Tu l'as posé la , mais qui fait appel à lui?

    pour exécuter du code au lancement de l'appli tu peut catcher l'évenement creationComplete :

    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
    <?xml version="1.0" encoding="utf-8"?>
    <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" 
               layout="absolute" themeColor="#000000" width="500" height="400"
               creationComplete="onCreationComplete()">
        <mx:Script>
        	<![CDATA[
        		import mx.controls.Alert;
     
                    public var monParam:String;
     
                    private function onCreationComplete():void{
                             monParam=Application.application.parameters['test'];
                    }
     
                    private function onClick():void{
                             Alert.show(monParam);
                    }
        	]]>
        </mx:Script>
    	<mx:Button x="388" y="368" label="Envoyer" width="102" id="boutonEnvoyer" click="onClick()"/>
    </mx:Application>

    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
    Membre habitué Avatar de ludosoft
    Homme Profil pro
    Chef de projet technique
    Inscrit en
    Juillet 2002
    Messages
    99
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projet technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2002
    Messages : 99
    Points : 136
    Points
    136
    Par défaut
    C'est au poil !
    En tout cas merci pour la précision de vos réponse.

    D'ailleurs, petit commentaire, Flex c'est une vraie bonne techno pour monter une interface complexe dans le navigateur. Je ne pensais pas que c'était aussi évolué avant de l'utiliser. Et sans vouloir troller, ça me parait drôlement moins bancale qu'une solution pure AJAX.

    Aller zou, je retourne dans mon code

    Merci encore
    Ludo
    Et un d'plus en moins !

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

Discussions similaires

  1. [citrix] passage de paramètre à une application publiée
    Par ggnore dans le forum Virtualisation
    Réponses: 2
    Dernier message: 12/07/2012, 10h12
  2. [Flex3] [AS3] Passage de paramètres dans une fonction
    Par Grimpozarbre dans le forum Flex
    Réponses: 2
    Dernier message: 26/01/2011, 09h08
  3. Réponses: 1
    Dernier message: 17/10/2007, 16h54
  4. passage de paramètres à une application (wxApp)
    Par gerard tarquin dans le forum wxPython
    Réponses: 1
    Dernier message: 02/06/2007, 19h53
  5. Réponses: 1
    Dernier message: 21/03/2007, 15h33

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