Chemin relatif qui fait planter logiciel !!
Résolu
ff
-
ff -
ff -
Bonjour,
J'ai un problème par rapport à une question que j'avais posé il y'a pas longtemps :
https://forums.commentcamarche.net/forum/affich-34855051-utiliser-chemin-relatif
Voilà, le chemin relatif fonctionne mais cela fait planter toute l'interface graphique de la jframe .
Cependant cela plante sur un de mes vieux PC qui tourne sous Pentium 4 3ghz mais pas sur mon PC I7 ,
Aussi, cela plante sur d'autres PC au config "normal"
Bref... plein de bug..
Par ailleur , le programme ne plantait absolument pas quant tout fonctionnait en chemin absolue (quelque soit le PC)
Quelqu'un aurait une idée où une solution à mon problème s'il-vous-plaît ?
Merci d'avance pour vos réponse.
J'ai un problème par rapport à une question que j'avais posé il y'a pas longtemps :
https://forums.commentcamarche.net/forum/affich-34855051-utiliser-chemin-relatif
Voilà, le chemin relatif fonctionne mais cela fait planter toute l'interface graphique de la jframe .
Cependant cela plante sur un de mes vieux PC qui tourne sous Pentium 4 3ghz mais pas sur mon PC I7 ,
Aussi, cela plante sur d'autres PC au config "normal"
Bref... plein de bug..
Par ailleur , le programme ne plantait absolument pas quant tout fonctionnait en chemin absolue (quelque soit le PC)
Quelqu'un aurait une idée où une solution à mon problème s'il-vous-plaît ?
Merci d'avance pour vos réponse.
1 réponse
-
Bonjour,
Pour t'aider, il nous faut :
1) l'exception qui s'affiche dans la console lorsque le programme plante
2) ton code Java actuel en indiquant les lignes correspondant à l'exception
3) l'arborescence de tes fichiers pour bien comprendre ton chemin relatif-
Bonjour,
Le code est le même que le dernier que j'ai mis sur le forum à savoir :
try {
process = Runtime.getRuntime().exec("fichier.exe");
} catch (IOException ex) {
Logger.getLogger(NewJFrame.class.getName()).log(Level.SEVERE, null, ex);
}
try {
System.out.println("exitValue = " + process.waitFor());
// TODO add your handling code here:
} catch (InterruptedException ex) {
Logger.getLogger(NewJFrame.class.getName()).log(Level.SEVERE, null, ex);
}
Cependant aucune erreur ne s'affiche , lexe lui ce lance (sur certain jbutton tandis que la jframe plante)
Les exe quant à eux se trouve au même endroit que le jar file à savoir dans le dossier dist .
Merci -
"Cependant aucune erreur ne s'affiche , lexe lui ce lance (sur certain jbutton tandis que la jframe plante)"
Il faut lancer ton programme depuis une invite de commande pour voir s'afficher l'erreur, qui sera peut-être l'une des deuxlog(Level.SEVERE
que tu as mis dans ton code, ou une autre exception que tu n'as pas gérée. -
Bon finalement j'ai trouver une solution convenable:
J'ai donc suivi votre conseil et aucune erreur ne s'affichait(tout était clean) cependant le code était trop lourd , de plus, c'est l' IDE lui même qui la mis en forme.
Désespéré, c'est alors qui me vient une idée (parmis d'autres que je voulais tester)
Et cela fonctionna !
Tous les jbutton ce lancèrent et aucune jframe ne planta
Runtime.getRuntime().exec("rundll32 url.dll,FileProtocolHandler "+".\\..\\mon fichier.exe");
Merci pour votre aide KX
problème résolu
-