Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > Flash/Flex > Flex
Flex Forum d'entraide sur la programmation Adobe Flex : applications Internet riches (RIA)
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 22/05/2008, 00h42   #1
Membre habitué
 
Avatar de ludosoft
 
Homme Ludovic Martin
Chef de projet technique
Inscription : juillet 2002
Messages : 95
Détails du profil
Informations personnelles :
Nom : Homme Ludovic Martin
Âge : 31
Localisation : France, Gironde (Aquitaine)

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

Informations forums :
Inscription : juillet 2002
Messages : 95
Points : 112
Points : 112
Envoyer un message via MSN à ludosoft Envoyer un message via Skype™ à ludosoft
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
ludosoft est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/05/2008, 09h57   #2
Membre habitué
 
Avatar de greatalain
 
Homme Alain Great
Développeur informatique
Inscription : novembre 2007
Messages : 124
Détails du profil
Informations personnelles :
Nom : Homme Alain Great
Localisation : France

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

Informations forums :
Inscription : novembre 2007
Messages : 124
Points : 146
Points : 146
Citation:
- 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 :
Application.application.parameters["ton paramètre"]
pour réccupèrer sa valeur

Citation:
- 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

Citation:
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
greatalain est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/05/2008, 13h58   #3
Rédacteur/Modérateur
 
Avatar de Jim_Nastiq
 
Homme Jean-Marie Macé
Ingénieur consultant, leader Flex
Inscription : avril 2006
Messages : 2 196
Détails du profil
Informations personnelles :
Nom : Homme Jean-Marie Macé
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur consultant, leader Flex
Secteur : Conseil

Informations forums :
Inscription : avril 2006
Messages : 2 196
Points : 3 380
Points : 3 380
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 :
onbeforeunload="fermetureBrowserJS();"
methode javascript:
Code :
1
2
3
function fermetureBrowserJS{
   document.IDdeTonInstanciationFlash.onCloseBrowser();
}

dans ton code AS:
Code :
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
Jim_Nastiq est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/05/2008, 22h49   #4
Membre habitué
 
Avatar de ludosoft
 
Homme Ludovic Martin
Chef de projet technique
Inscription : juillet 2002
Messages : 95
Détails du profil
Informations personnelles :
Nom : Homme Ludovic Martin
Âge : 31
Localisation : France, Gironde (Aquitaine)

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

Informations forums :
Inscription : juillet 2002
Messages : 95
Points : 112
Points : 112
Envoyer un message via MSN à ludosoft Envoyer un message via Skype™ à ludosoft
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 :
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 :
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
ludosoft est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/05/2008, 09h13   #5
Rédacteur/Modérateur
 
Avatar de Jim_Nastiq
 
Homme Jean-Marie Macé
Ingénieur consultant, leader Flex
Inscription : avril 2006
Messages : 2 196
Détails du profil
Informations personnelles :
Nom : Homme Jean-Marie Macé
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur consultant, leader Flex
Secteur : Conseil

Informations forums :
Inscription : avril 2006
Messages : 2 196
Points : 3 380
Points : 3 380
ton code :
Code :
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 :
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
Jim_Nastiq est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/05/2008, 19h10   #6
Membre habitué
 
Avatar de ludosoft
 
Homme Ludovic Martin
Chef de projet technique
Inscription : juillet 2002
Messages : 95
Détails du profil
Informations personnelles :
Nom : Homme Ludovic Martin
Âge : 31
Localisation : France, Gironde (Aquitaine)

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

Informations forums :
Inscription : juillet 2002
Messages : 95
Points : 112
Points : 112
Envoyer un message via MSN à ludosoft Envoyer un message via Skype™ à ludosoft
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
ludosoft est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 17h12.


 
 
 
 
Partenaires

Hébergement Web