begin process at 2010 02 10 09:47:35
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C#

 > 

Windows

 > 

Autre

 > 

Application.Exit() inefficace


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Application.Exit() inefficace

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ée 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...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,014 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales