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

avec Java Discussion :

Exécution d'une ligne de code avant la fin d'exécution de la précédente


Sujet :

avec Java

  1. #1
    Membre averti

    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 464
    Points : 332
    Points
    332
    Par défaut Exécution d'une ligne de code avant la fin d'exécution de la précédente
    Tout d'abord je vous prie de bien vouloir m'excuser si ce problème a déjà été traité mais je ne l'ai pas trouvé dans la FAQ ()

    Le problème est le suivant et j'ai un peu de mal à l'expliquer clairement.
    Dans une méthode (main par exemple), un première ligne lance l'exécution d'une méthodeA dont le but sera d'initialiser une variable de la classe A. Puis une méthodeB vient juste après et doit utiliser cette variable. D'après mes essais la méthodeB se lance avant la fin de la méthodeA. La variable est encore à null et une erreur interrompt le traitement. Comment imposer à la méthodeB d'attendre que la méthodeA ait fini son traitement avant de se lancer.

    Désolé si je ne suis pas très clair.
    C'est en respectant les autres que l'on se fait respecter.

  2. #2
    Membre averti

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2010
    Messages
    246
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mai 2010
    Messages : 246
    Points : 402
    Points
    402
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    public..... main{
          A();
          B();
    }
    ??

    Je comprend pas bien ton problème... tu peux poster ton code ?
    C'est en aidant les autres qu'on en apprend beaucoup soi-même

  3. #3
    Expert confirmé
    Avatar de le y@m's
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    2 636
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Février 2005
    Messages : 2 636
    Points : 5 943
    Points
    5 943
    Par défaut
    Ce n'est pas normal.
    Es-tu sûr que la valeur mise dans la variable n'est pas nulle (si par exemple la valeur est lue dans une config et qu'elle manque) ?
    Ensuite vérifie que le code de la méthodeA ne s'exécute pas dans un thread séparé.
    Je ne répondrai à aucune question technique par MP.

    Pensez aux Tutoriels et aux FAQs avant de poster (pour le java il y a aussi JavaSearch), n'oubliez pas non plus la fonction Rechercher.
    Enfin, quand une solution a été trouvée à votre problème
    pensez au tag

    Cours Dvp : http://ydisanto.developpez.com
    Blog : http://yann-disanto.blogspot.com/
    Page perso : http://yann-disanto.fr

  4. #4
    Membre averti

    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 464
    Points : 332
    Points
    332
    Par défaut
    Il semble que je n'avais tout simplement pas initialisé une variable.

    J'ai re-créé ci-dessous les raisons de l'erreur.
    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
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    package test;
     
    import histoire.ChargeurConfiguration;
    import histoire.ConfigAppli;
     
    import java.io.IOException;
     
    public class testParallelisme {
     
    	private static ConfigAppli configuration;
     
    	public static void main(String[] args) {
    				initialisation();
     
    				test();
     
    	}
     
    	private static void test() {
    					if (configuration.infobullesCarte()) 
    					System.out.println("OK");
    				else System.out.println("not OK");
     
    	}
     
    	private static void initialisation() {
    		System.out.println("init");
    		try {
    		System.out.println("try");
     
    			ConfigAppli configuration = new ChargeurConfiguration().
    																chargerConfig();
    			if (configuration==null) 		
    					 System.out.println("configuration nulle");
    				else System.out.println(configuration.imprime());
    			testParallelisme.configuration=configuration;
    		} catch (IOException e) {
    			System.out.println("catch");
    			e.printStackTrace();
    		}
     
    	}
     
     
    }
    J'avais oublié la ligne : testParallelisme.configuration=configuration;
    Le fait d'utiliser le même nom pour le paramètre et la variable de classe a fait que j'ai cru que cette dernière était initialisée. Et j'ai bossé 15 jours dessus sans m'en apercevoir ()

    Merci.
    C'est en respectant les autres que l'on se fait respecter.

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

Discussions similaires

  1. [XL-2013] Exécuter un string comme une ligne de code
    Par LouisExcellence dans le forum Macros et VBA Excel
    Réponses: 14
    Dernier message: 01/07/2015, 07h12
  2. [CS4] exécuter une ligne de code "reconstruite"
    Par aerosky dans le forum Flash
    Réponses: 0
    Dernier message: 29/12/2010, 14h17
  3. Réponses: 12
    Dernier message: 13/08/2009, 16h40
  4. Réponses: 7
    Dernier message: 19/12/2006, 12h11
  5. PB sur une ligne de code
    Par romrai dans le forum Access
    Réponses: 2
    Dernier message: 22/02/2006, 11h27

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