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

Windows Forms Discussion :

[C#] Process toujours actif apres fermeture de la fenetre


Sujet :

Windows Forms

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    262
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 262
    Points : 230
    Points
    230
    Par défaut [C#] Process toujours actif apres fermeture de la fenetre
    Bonjour,

    j'ai un petit probleme avec mon programme, j'ai developpe une interface avec mon skin donc aucun control Windows et quand je clique sur le bouton fermer de lapplication le processus reste actif dans le gestionnaire de taches. Je suis donc oblige de killer le processus quand je clique sur le bouton fermer mais ce n'est pas une methode propre et je voulais savoir sil y avait autre chose. J'ai essayer Application.Exit() ou Environement.Exit() sans succes.

    Merci pour vos reponses.

  2. #2
    Membre actif Avatar de toniolol
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Juin 2005
    Messages
    281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2005
    Messages : 281
    Points : 296
    Points
    296
    Par défaut
    Salut,
    ça veut dire que tu as un objet qui n'est pas tué.
    Donc dans l'event closing tu dois "disposer" les objets que tu as instancié.

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    262
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 262
    Points : 230
    Points
    230
    Par défaut
    En effet j'ai une fenetre qui est ouverte et que je ne tue pas parce que je ny arrive pas elle est appelee par une callback et quand je veux acceder a sa methode Close il me dit que je n'ai pas le droit parce que je n'y accede pas avec
    le thread ou elle a ete appelee. Voila jarrive pas a la Closer mais quand je ferme la fenetre principale celle ci disparait mais n'est pas detruite en effet.

  4. #4
    Expert confirmé Avatar de fregolo52
    Homme Profil pro
    Développeur C
    Inscrit en
    Août 2004
    Messages
    2 366
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur C

    Informations forums :
    Inscription : Août 2004
    Messages : 2 366
    Points : 5 382
    Points
    5 382
    Par défaut
    Cette erreur me rappelle quelque chose

    Utilise les Invoke.
    Voici une partie de mon code : (this = TreeView)

    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
    delegate int ObjetAddedDelegate(INetwork net);
    public int ObjetAdded(IObject net)
    {
    	try
    	{
    		// Make sure we're on the right thread
    		if( this.InvokeRequired == false ) 
    		{
    			// ICI TON CODE
    		}
    		else 
    		{
    			// Show progress asynchronously
    			ObjetAddedDelegate  objAdded = new ObjetAddedDelegate(ObjetAdded);
    			BeginInvoke(objAdded, new object[] { net});
    		}
     
    	}
    	catch (Exception ex)
    	{
    		MessageBox.Show(ex.StackTrace + ex.Message, ex.Source);
    	}
    	return 0;
    }

  5. #5
    Membre actif
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    262
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 262
    Points : 230
    Points
    230
    Par défaut
    Je comprend pas trop comment faire , mon code est le suivant si vous pouvez m'aider :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    public delegate void DiscoverCallbackDelegate(string Result);
     
    public static void DiscoverCallback(string Result)
    {
          if (Result != null)
          {
               Dlg = new RobotSelect(Result);
               Dlg.ShowDialog();
          }
    }
    J'appelee ma callback dans mon code et apres je veux faire Dlg.Close() des que je clique sur le bouton fermer de la fenetre principale mais j'ai pas le droit il me dis que je n'apelle pas la methode Close dans le meme thread. Donc comment dois je faire avec les Invoke? Merci.

Discussions similaires

  1. Fermeture application mais process toujours la
    Par g_barthe dans le forum wxPython
    Réponses: 3
    Dernier message: 05/08/2008, 20h24
  2. Processus EXCEL;exe actif apres fermeture
    Par jamescook dans le forum C++Builder
    Réponses: 3
    Dernier message: 29/10/2007, 11h49
  3. Réponses: 1
    Dernier message: 20/08/2007, 17h22
  4. Forcer de tuer un process après fermeture d'une applic!
    Par _shuriken_ dans le forum Windows XP
    Réponses: 14
    Dernier message: 26/01/2007, 15h27
  5. Service ou programme actif apres fermeture de session
    Par SlideMT dans le forum Windows
    Réponses: 2
    Dernier message: 12/04/2006, 10h47

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