Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Application.Exit() inefficace [ Windows / Autre ] (sachie)

lundi 1 septembre 2008 à 17:54:53 | Application.Exit() inefficace

sachie

Bonjour à tous, j'ai eu un problème que j'ai 'salement' résolu et je voudrais savoir si quelqu'un a une solution plus propre et si l'on peut m'expliquer la raison:

J'effectue dans le Load d'une form plusieurs étapes de vérifications(caractérisées chacunes par une fonction) et lorsqu'il y a un   problème je désire quitter l'application j'ai donc l'instruction Application..Exit()!

Mais il ne se passe rien, j'ai donc placé un boolean nommé erreur (=false) et qui passe à True dés qu'il y a une erreur et les autres étapes de vérifications sont zappées, et à la fin du Load je teste le booléen et s'il vaut true je quitte et ça marche!

Schéma:

bool erreur=false;

Load
{

  verif1();

  if(!erreur)
  {
    verif2();
  }

  if(!erreur)
  {
    verif3();
  }
etc...

  if(erreur)
  {
    Application.Exit();
  }

}

donc voila je ne comprend pas pourquoi l'application.exit() n'a aucun effet au cours du load , avec ce bricolage ça marche mais j'aimerais comprendre merci!

lundi 1 septembre 2008 à 18:46:07 | Re : Application.Exit() inefficace

leprov

Réponse acceptée !
Préfère environment.exit(int) plutot que application.exit qui ne quitte pas forcément l'application (quitte uniquement si pas de thread prioritaires en fond, etc. Le environement.exit a un effet similaire a un return dans le main et te permettra de quitter a coup sur. Application.exit est surtout fait pour quitter l'application, MAIS en restant respectueux des traitements en cours

lundi 1 septembre 2008 à 21:45:34 | Re : Application.Exit() inefficace

Julien237

Sinon au niveau du traitement des erreurs, pourquoi ne pas utiliser les blocs try/catch prévus à cet effet et tellement plus propres :

try
{
   verif1();
   verif2();
   ....
}
catch (Exception ex)
{
   MessageBox.Show("Une erreur est survenue :\n" + ex.Message);
   Environment.Exit(1);
}

Si la nature de l'erreur est par exemple la non-existence d'un fichier, à la place de faire :
If (!File.Exists(filename))
   erreur = true;

Tu fais
If (!File.Exists(filename))
   throw new FileNotFoundException("Le fichier " + filename + " n'existe pas");

Ce qui est nettement plus propre et plus clair pour l'utilisateur qui saura ce qui pose problème.


Julien.

mardi 2 septembre 2008 à 09:01:17 | Re : Application.Exit() inefficace

sachie

Merci pour vos réponses!
L' Environment.Exit(int) fonctionne nickel!



Cette discussion est classé dans : application, erreur, load, exit, if


Répondre à ce message

Sujets en rapport avec ce message

ShowDialog & Co [ par Arthenius ] Salut tout le monde...je m'interroge...j'ai une fenetre mdi...j'ai une forme que j'ouvre en showdialod au load de la dite mdi...pour selectionner un t Application.Exit() <- Bp [ par JCpp ] J'ai réaliser une petite application en c#.Je voudrai quitter cette application avec une ligne de programme.Il y a-t-il une autre fonction, car avec A Erreur ContextSwitchDeadlock [ par coinki ] Bonjour à tous,J'ai l'erreur suivante dans mon application :ContextSwitchDeadlock was detectedThe CLR has been unable to transition from COM context 0 Erreur de deboguage [ par rab33 ] bonjour je travail une application sue c# et lorsque je deboug mon application il affiche le message suivant: <<Error while trying to run project: Cou exécutable qui génére une erreur windows [ par oubaj ] J'ai developpé une application de gestion de stock, j'ai géneré l'éxecutable l'installation sur mon pc marche a 100% ,mais sur d'autre pc ,aprés l'ins load projet [ par superismali ] Bonjour a tous,J'ai développé une petite application et j'ai enregistrer tous mes parametres dans un fichier xml. J'ai affecté a ce fichier de projet Message d'erreur à l'ouverture de l'application [ par Kaneda Shotaro ] BonjourMon programme ne fait, pour le moment, qu'initialiser DirectX. Sur mon poste, tout va bien, l'écran s'affiche. Sur le poste d'un ami, tout va b Try, Catch et Application.Exit [ par clubberzZ ] Bonjour à tous,Quand j'éxécute le code ci-dessous il fonctionne mais l'application ne se quitte pas, la ligne "Application.Exit();" n'est pas prise en Icon-Erreur [ par mdima ] J'utilise sharDevelop pour programnmer en c#.Quand j'essaye de changer l'icon de l'application, la compilation se passe bien, mais l'execution du fich Petite erreur [ par MorpionMx ] Voilà, j'ai developpé pour quelqu'un une petite appli, mais le probleme, c'est que quand cette personne veut l'executer, elle a l'erreur "l'applicatio


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version


HTC G1

Entre 449€ et 449€


Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,406 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.