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 :

Aucune erreur : l'appli ne se lance pas


Sujet :

Flex

  1. #1
    Futur Membre du Club
    Inscrit en
    Avril 2010
    Messages
    17
    Détails du profil
    Informations personnelles :
    Âge : 35

    Informations forums :
    Inscription : Avril 2010
    Messages : 17
    Points : 9
    Points
    9
    Par défaut Aucune erreur : l'appli ne se lance pas
    Bonjour,

    Après un déboguage intensif, plus aucune erreur. L'application ne se lance même pas. Où dois-je chercher ?

    Davantage de précisions :

    1 fichier appli.mxml qui contient la partie graphique. J'y instancie la class qui elle se trouve dans jeu.as.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <mx:Script>
    <![CDATA[
    public var jeu:Object = new jeu();
    ]]>
    </mx:Script>
    // mes balises mxml
    Et un extrait de la class :

    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
     
    package {
     
    import flash.events.TimerEvent;
    import flash.utils.Timer;
     
    import mx.controls.Alert;
    import mx.events.MenuEvent;
     
    	public class jeu {
     
    	private var nombreAleatoire:Number;
    	private var nombreTentatives:Number = 0;
    	private var nombreEntreTmp:Number = 0;
    	private var timer:Timer;
    	private var app:appli;
     
    // des méthodes....
    	}
    }
    Merci.

  2. #2
    Membre éclairé
    Homme Profil pro
    Consultant Angular / Java J2EE
    Inscrit en
    Novembre 2008
    Messages
    545
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Consultant Angular / Java J2EE
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2008
    Messages : 545
    Points : 875
    Points
    875
    Par défaut
    Salut,
    ça va être dur de pouvoir t'aider juste avec ce code..
    Comment as-tu créé ton projet Air ? As-tu utilisé la méthode classique ? (new Flex project-> Air ...)
    N'oubliez pas avant de poster :

  3. #3
    Futur Membre du Club
    Inscrit en
    Avril 2010
    Messages
    17
    Détails du profil
    Informations personnelles :
    Âge : 35

    Informations forums :
    Inscription : Avril 2010
    Messages : 17
    Points : 9
    Points
    9
    Par défaut
    Salut,

    Oui oui j'ai bien créé mon projet AIR de la bonne manière. En relancant le PC l'application s'est lancée.

    Par contre j'arrive à la faire fonctionner en mettant tout le code dans le fichier .mxml.

    J'aimerais faire évoluer mon application en objet avec le fichier .mxml contenant uniquement les balises d'affichage et un fichier .as avec le code logique.

    En fait c'est ce que je vous ai montré comme exemple mais je n'ai pas réussi à le faire fonctionner. Pour que ça marche j'ai tout mis dans un seul fichier et en retirant le package et la class.

    Pourrais-je alors avoir des conseils par rapport à l'architecture à adopter ainsi que des exemples de codes ?

    Merci.

  4. #4
    Membre éclairé
    Homme Profil pro
    Consultant Angular / Java J2EE
    Inscrit en
    Novembre 2008
    Messages
    545
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Consultant Angular / Java J2EE
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2008
    Messages : 545
    Points : 875
    Points
    875
    Par défaut
    Salut,
    Citation Envoyé par Sylouuu Voir le message

    J'aimerais faire évoluer mon application en objet avec le fichier .mxml contenant uniquement les balises d'affichage et un fichier .as avec le code logique.
    rajoute une petite balise Script et passe lui un fichier .as en source :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <mx:Script source="myFile.as"/>
    De cette manière tu peux externaliser le code et avoir réellement ta vue dans le fichier .mxml

    Citation Envoyé par Sylouuu Voir le message
    Pourrais-je alors avoir des conseils par rapport à l'architecture à adopter ainsi que des exemples de codes ?
    Merci.
    Très vaste question
    Dis nous en un peu plus sur ton projet etc.. et documente toi un petit peu (il y a de très bon tutos sur le forum). Nous pourrons t'aiguiller mais il te faudra quelques questions précises tout de même
    N'oubliez pas avant de poster :

  5. #5
    Futur Membre du Club
    Inscrit en
    Avril 2010
    Messages
    17
    Détails du profil
    Informations personnelles :
    Âge : 35

    Informations forums :
    Inscription : Avril 2010
    Messages : 17
    Points : 9
    Points
    9
    Par défaut
    Merci ta réponse.

    J'ai essayé de faire quelque chose de simple et qui fonctionne. Par exemple un simple clic sur un bouton affiche un texte dans un label, et tout ça avec une classe. J'utilise Flash Builder 4.

    Alors je montre le code.

    test.mxml :
    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
     
    <?xml version="1.0" encoding="utf-8"?>
    <s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009" 
    					   xmlns:s="library://ns.adobe.com/flex/spark" 
    					   xmlns:mx="library://ns.adobe.com/flex/mx" width="526" height="358">
    	<fx:Script source="maClasse.as"/>
    <fx:Script>
    	<![CDATA[
    		import monPackage;
    		public var maClasse:maClasse = new maClasse();		
    	]]>
    </fx:Script>
     
    	<s:Button x="204" y="105" label="event" id="e"/>
    	<s:Label x="204" y="154" width="70" height="27" id="t" click="maClasse.getTexte()"/>
    </s:WindowedApplication>
    maClasse.as :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    package monPackage
    {
    	public class maClasse
    	{
    		public function maClasse()
    		{
    			// ...
    		}
     
    		public function getTexte() {
    			return "hello";
    		}
    	}
    }
    Tous ces fichiers sont contenus dans un package nommé "monPackage".

    J'ai l'erreur : "Les packages ne peuvent pas être imbriqués."

    Pourquoi ai-je cette erreur ?
    A quoi sert un package ? Avantage d'en utiliser ?

    Merci de m'éclairer sur ces points.

  6. #6
    Expert confirmé
    Avatar de Pragmateek
    Homme Profil pro
    Formateur expert .Net/C#
    Inscrit en
    Mars 2006
    Messages
    2 635
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Formateur expert .Net/C#
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 635
    Points : 4 062
    Points
    4 062
    Par défaut
    A quoi sert un package ?
    Principalement à grouper des types.

    Avantage d'en utiliser ?
    Structurer un projet en rassemblant les types travaillant sur une problématique commune.

    C'est équivalent aux namespaces d'autres langages.

    Pourquoi ai-je cette erreur ?
    A tout hasard, à cause de l'import via "<fx:Script..." dans ton MXML...
    Formateur expert .Net/C#/WPF/EF Certifié MCP disponible sur Paris, province et pays limitrophes (enseignement en français uniquement).
    Mon blog : pragmateek.com

  7. #7
    Futur Membre du Club
    Inscrit en
    Avril 2010
    Messages
    17
    Détails du profil
    Informations personnelles :
    Âge : 35

    Informations forums :
    Inscription : Avril 2010
    Messages : 17
    Points : 9
    Points
    9
    Par défaut
    Ok. Quelle méthode dois-je utiliser ? <fx:Script> avec le fichier as ? Ou import ? En fait c'est quoi la différence ?

  8. #8
    Expert confirmé
    Avatar de Pragmateek
    Homme Profil pro
    Formateur expert .Net/C#
    Inscrit en
    Mars 2006
    Messages
    2 635
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Formateur expert .Net/C#
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 635
    Points : 4 062
    Points
    4 062
    Par défaut
    Quelle méthode dois-je utiliser ? <fx:Script> avec le fichier as ? Ou import ?
    import est me semble-t-il la bonne façon de procéder dans ce cas.

    En fait c'est quoi la différence ?
    Sauf erreur, fx:Script est un import "source" brut, équivalent à un "include";
    alors que l'instruction import ne fait que rendre disponible les éléments de ton package dans le contexte courant.

    Si tu retires la ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <fx:Script source="maClasse.as"/>
    as-tu des erreurs ?
    Formateur expert .Net/C#/WPF/EF Certifié MCP disponible sur Paris, province et pays limitrophes (enseignement en français uniquement).
    Mon blog : pragmateek.com

  9. #9
    Futur Membre du Club
    Inscrit en
    Avril 2010
    Messages
    17
    Détails du profil
    Informations personnelles :
    Âge : 35

    Informations forums :
    Inscription : Avril 2010
    Messages : 17
    Points : 9
    Points
    9
    Par défaut
    Alors quand je retire la ligne j'ai cette erreur au niveau de la ligne public var...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1046: Ce type est introuvable ou n'est pas une constante de compilation : maClasse.	test.mxml	/test/src/monPackage	ligne 11

  10. #10
    Expert confirmé
    Avatar de Pragmateek
    Homme Profil pro
    Formateur expert .Net/C#
    Inscrit en
    Mars 2006
    Messages
    2 635
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Formateur expert .Net/C#
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 635
    Points : 4 062
    Points
    4 062
    Par défaut
    Essaye :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    import monPackage.maClasse;
    ou :
    Et, au passage, les conventions de nommage pour les classes imposent le nom : "MaClasse"
    Formateur expert .Net/C#/WPF/EF Certifié MCP disponible sur Paris, province et pays limitrophes (enseignement en français uniquement).
    Mon blog : pragmateek.com

  11. #11
    Futur Membre du Club
    Inscrit en
    Avril 2010
    Messages
    17
    Détails du profil
    Informations personnelles :
    Âge : 35

    Informations forums :
    Inscription : Avril 2010
    Messages : 17
    Points : 9
    Points
    9
    Par défaut
    J'ai fait comme tu m'as dit :

    test.mxml
    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
    <?xml version="1.0" encoding="utf-8"?>
    <s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009" 
    					   xmlns:s="library://ns.adobe.com/flex/spark" 
    					   xmlns:mx="library://ns.adobe.com/flex/mx" width="526" height="358">
     
    	<fx:Script>
    		<![CDATA[
    			import monPackage.maClasse;
    			public var m:maClasse = new maClasse();		
    		]]>
    	</fx:Script>
     
    	<s:Button x="204" y="105" label="event" id="e"/>
    	<s:Label x="204" y="154" width="70" height="27" id="t" click="m.getTexte()"/>
    </s:WindowedApplication>
    maClasse.as
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    package monPackage
    {
    	public class maClasse
    	{
    		public function maClasse()
    		{
    			// ...
    		}
     
    		public function getTexte() {
    			return "hello";
    		}
    	}
    }
    Voici mon arboresence.


    J'obtiens l'erreur suivante : "Le test-app.xml correspondant n'est pas inclus dans l'application Adobe AIR."

    Une autre question : si je veux me passer du package "monPackage", comment accéder à la classe ? En gros comment faire l'import ? Juste import maClasse; ?

  12. #12
    Expert confirmé
    Avatar de Pragmateek
    Homme Profil pro
    Formateur expert .Net/C#
    Inscrit en
    Mars 2006
    Messages
    2 635
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Formateur expert .Net/C#
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 635
    Points : 4 062
    Points
    4 062
    Par défaut
    J'obtiens l'erreur suivante : "Le test-app.xml correspondant n'est pas inclus dans l'application Adobe AIR."
    C'est déjà mieux, ton code compile donc, et ça c'est une erreur Air.
    As-tu essayé de lancer le test-app.xaml directement via l'utilitaire "adl" comme indiqué ici : http://livedocs.adobe.com/flex/3/htm...loWorld_1.html ?

    Une autre question : si je veux me passer du package "monPackage", comment accéder à la classe ? En gros comment faire l'import ? Juste import maClasse; ?
    Il me semble que tu es obligé d'encapsuler tes types dans un package.
    Et même si c'était facultatif ça reste une bonne pratique.
    Formateur expert .Net/C#/WPF/EF Certifié MCP disponible sur Paris, province et pays limitrophes (enseignement en français uniquement).
    Mon blog : pragmateek.com

  13. #13
    Futur Membre du Club
    Inscrit en
    Avril 2010
    Messages
    17
    Détails du profil
    Informations personnelles :
    Âge : 35

    Informations forums :
    Inscription : Avril 2010
    Messages : 17
    Points : 9
    Points
    9
    Par défaut
    Ok pour le package.

    Mon fichier test-app.xml je n'y ai pas touché c'est celui créé à la création du projet Flex. Dedans il y a bien le nom "test" (= le nom du fichier .mxml si j'ai bien compris). J'ai essayé de le déplacer dans d'autres répertoires et toujours l'erreur. Je ne vois pas où fouiller à ce propos.

  14. #14
    Expert confirmé
    Avatar de Pragmateek
    Homme Profil pro
    Formateur expert .Net/C#
    Inscrit en
    Mars 2006
    Messages
    2 635
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Formateur expert .Net/C#
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 635
    Points : 4 062
    Points
    4 062
    Par défaut
    Pour s'assurer que c'est bien une erreur de Flash Builder le plus simple est de tenter une build et un lancement via la ligne de commande.
    Formateur expert .Net/C#/WPF/EF Certifié MCP disponible sur Paris, province et pays limitrophes (enseignement en français uniquement).
    Mon blog : pragmateek.com

  15. #15
    Futur Membre du Club
    Inscrit en
    Avril 2010
    Messages
    17
    Détails du profil
    Informations personnelles :
    Âge : 35

    Informations forums :
    Inscription : Avril 2010
    Messages : 17
    Points : 9
    Points
    9
    Par défaut
    Euh j'ai jamais fait ça...

  16. #16
    Expert confirmé
    Avatar de Pragmateek
    Homme Profil pro
    Formateur expert .Net/C#
    Inscrit en
    Mars 2006
    Messages
    2 635
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Formateur expert .Net/C#
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 635
    Points : 4 062
    Points
    4 062
    Par défaut
    Il y a un début à tout, mais c'est vrai que ce n'est pas évident si tu n'as pas l'habitude d'utiliser un shell.

    Sinon tu peux tenter de recréer un projet Air et d'ajouter au fur et à mesure les fichiers en vérifiant à chaque étape que tout se passe bien en rebuildant et lançant l'application
    Formateur expert .Net/C#/WPF/EF Certifié MCP disponible sur Paris, province et pays limitrophes (enseignement en français uniquement).
    Mon blog : pragmateek.com

  17. #17
    Futur Membre du Club
    Inscrit en
    Avril 2010
    Messages
    17
    Détails du profil
    Informations personnelles :
    Âge : 35

    Informations forums :
    Inscription : Avril 2010
    Messages : 17
    Points : 9
    Points
    9
    Par défaut
    C'est ce que j'ai fait, j'ai recréé et j'ai quand même cette erreur minable. Même en déplacant le -app.xml.

  18. #18
    Expert confirmé
    Avatar de Pragmateek
    Homme Profil pro
    Formateur expert .Net/C#
    Inscrit en
    Mars 2006
    Messages
    2 635
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Formateur expert .Net/C#
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 635
    Points : 4 062
    Points
    4 062
    Par défaut
    J'ai recréé from-scratch une application Air similaire à la tienne pour tester et je n'ai obtenu aucune erreur.
    Le fichier "test-app.xml" devrait se trouver à côté de "test.mxml".
    Formateur expert .Net/C#/WPF/EF Certifié MCP disponible sur Paris, province et pays limitrophes (enseignement en français uniquement).
    Mon blog : pragmateek.com

  19. #19
    Futur Membre du Club
    Inscrit en
    Avril 2010
    Messages
    17
    Détails du profil
    Informations personnelles :
    Âge : 35

    Informations forums :
    Inscription : Avril 2010
    Messages : 17
    Points : 9
    Points
    9
    Par défaut
    Je te rassure il est bien à côté. J'ai un package monPackage qui contient test.mxml, maClasse.as et test-app.xml.

  20. #20
    Expert confirmé
    Avatar de Pragmateek
    Homme Profil pro
    Formateur expert .Net/C#
    Inscrit en
    Mars 2006
    Messages
    2 635
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Formateur expert .Net/C#
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 635
    Points : 4 062
    Points
    4 062
    Par défaut
    Mais est-ce bien le cas dans l'arborescence physique de ton projet, ce que tu peux vérifier avec l'explorateur de fichier de ton système.

    Si c'est bien le cas, j'avoue être à court de solutions ... sauf la réinstallation de ton environnement, ie Flash Builder.
    Formateur expert .Net/C#/WPF/EF Certifié MCP disponible sur Paris, province et pays limitrophes (enseignement en français uniquement).
    Mon blog : pragmateek.com

Discussions similaires

  1. [WD16] Mon appli ne se lance pas apres GPWLogin
    Par jcpas dans le forum WinDev
    Réponses: 7
    Dernier message: 21/11/2011, 08h46
  2. La commande ne s'effectue pas et aucune erreur affihcée.
    Par guillaumeIOB dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 09/05/2007, 16h45
  3. Appli qui ne se lance pas
    Par grabriel dans le forum Langage
    Réponses: 2
    Dernier message: 28/04/2007, 13h54
  4. Réponses: 7
    Dernier message: 30/10/2005, 12h54

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