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

C# Discussion :

OpenFileDialog fait crasher mon appli


Sujet :

C#

  1. #1
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Mai 2009
    Messages
    26
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2009
    Messages : 26
    Points : 18
    Points
    18
    Par défaut OpenFileDialog fait crasher mon appli
    Bonjour à tous,

    J'ai un problème avec OpenFileDialog qui fait planter mon programme uniquement lorsque je le lance depuis VS (2010). Ca marche très bien lancé directement avec l'executable...

    voici mon code au cas où :
    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
     
    private void button1_Click(object sender, EventArgs e)
    {
    	try
    	{
     
    		if (openFileDialog1.ShowDialog() == DialogResult.OK)
    		{
    			Debug.WriteLine(openFileDialog1.FileName);
    		}
     
    	}
    	catch (Exception ex)
    	{
    		Debug.WriteLine(ex.StackTrace);
    	}
    }
    Il n'y a aucune exception levée à l’exécution.

    Est-ce que quelqu'un a une idée de l'origine de ce problème ?
    Merci d'avance

  2. #2
    Membre actif
    Profil pro
    Inscrit en
    Février 2006
    Messages
    197
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2006
    Messages : 197
    Points : 279
    Points
    279
    Par défaut
    C'est quoi le message d'erreur que tu obtiens quand il plante?

  3. #3
    Membre émérite
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Points : 2 498
    Points
    2 498
    Par défaut
    Il y a de fortes chance que le problème vient du fait que OpenFileDialog utilise un path sur lequel tu n'a pas les droits
    « Ils ne savaient pas que c'était impossible, alors ils l'ont fait ». (Twain)

  4. #4
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Mai 2009
    Messages
    26
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2009
    Messages : 26
    Points : 18
    Points
    18
    Par défaut
    @demonia : pas d'erreur, le programme se ferme juste...

    @olibara : cela me parraît bizarre vu les dossiers auxquels j'accède, mais peut-être ! Une solution ou un moyen de vérifier ? merci

  5. #5
    Membre émérite
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Points : 2 498
    Points
    2 498
    Par défaut
    Assigne un initial directory

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
         OpenFileDialog opf = new OpenFileDialog();
          opf.InitialDirectory = "mondir";
          opf.ShowDialog();
    « Ils ne savaient pas que c'était impossible, alors ils l'ont fait ». (Twain)

  6. #6
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Mai 2009
    Messages
    26
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2009
    Messages : 26
    Points : 18
    Points
    18
    Par défaut
    Cela ne change rien.

    Je viens de voir qu'une exception FileNotFoundException est levée (je crois que c'est nouveau, je n'avais pas remarqué avant). C'est étrange car la fenêtre n'apparaît même pas...

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    99
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 99
    Points : 93
    Points
    93
    Par défaut
    remplace ton Debug.WriteLine
    par

    Code c# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    MessageBox.Show(ex.ToString())

    tu pourras débugger plus facilement

  8. #8
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Mai 2009
    Messages
    26
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2009
    Messages : 26
    Points : 18
    Points
    18
    Par défaut
    @NokyDaOne : cela ne changerait strictement rien, ni ne permettrait de débugger, car le programme ferme sur le ShowDialog().

    Encore une fois, tout cela marche sans problème lorsque je lance le fichier exécutable directement, c'est juste simplement insupportable pour débugger

    J'imagine que l'explication l'Olibara est la plus pertinente, mais je ne vois pas comment résoudre ca.

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    99
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 99
    Points : 93
    Points
    93
    Par défaut
    Citation Envoyé par Benlev Voir le message
    @NokyDaOne : cela ne changerait strictement rien, ni ne permettrait de débugger, car le programme ferme sur le ShowDialog().

    Encore une fois, tout cela marche sans problème lorsque je lance le fichier exécutable directement, c'est juste simplement insupportable pour débugger

    J'imagine que l'explication l'Olibara est la plus pertinente, mais je ne vois pas comment résoudre ca.

    Quand tu dis qu'il ferme, tu veux dire qu'il kill ton application violemment ? Normalement le .net interdit ça, le .net que VS lance est corrompu alors. Car il a pas a ignoré les finally. Ca fait parti de sa norme. C'est un pb grave que tu rencontres. L'autre explication que l'on peut agvoir est que t'en en mode release et non debug et que ton code a été retravaillé par le compilo et donc que tu ne comprennes pas ce qu'il se passe quand tu bdebug.

  10. #10
    Membre émérite
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Points : 2 498
    Points
    2 498
    Par défaut
    Citation Envoyé par Benlev Voir le message
    @NokyDaOne : cela ne changerait strictement rien, ni ne permettrait de débugger, car le programme ferme sur le ShowDialog().

    Encore une fois, tout cela marche sans problème lorsque je lance le fichier exécutable directement, c'est juste simplement insupportable pour débugger

    J'imagine que l'explication l'Olibara est la plus pertinente, mais je ne vois pas comment résoudre ca.
    Je te l'ai dis, adapte ton code et mets un breakpoint

    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
       private void button1_Click(object sender, EventArgs e)
        {
          OpenFileDialog opf = new OpenFileDialog();
          opf.InitialDirectory = "Un_Directory_Bien_Connu_et_Utilise_par_toi";
          try
          {
            if (opf.ShowDialog() == DialogResult.OK)
            {
              Debug.WriteLine(openFileDialog1.FileName);
            }
     
          }
          catch (Exception ex)
          {
            Debug.WriteLine(ex.StackTrace);
          }
        }
    « Ils ne savaient pas que c'était impossible, alors ils l'ont fait ». (Twain)

  11. #11
    Membre habitué Avatar de monnoliv
    Homme Profil pro
    Opticien-ébéniste: lunettes de WC
    Inscrit en
    Août 2003
    Messages
    139
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Opticien-ébéniste: lunettes de WC

    Informations forums :
    Inscription : Août 2003
    Messages : 139
    Points : 195
    Points
    195
    Par défaut
    Autre suggestion: recrée un projet vide, mets ton bout de code et ça devrait obligatoirement fonctionner. Sinon, comme dit NokyDaOne, il y a qque chose de corrompu dans l'IDE.
    IoT CC3200, ESP8266
    8051, ARM Cortex-M (forever)/Cortex A (TI, Silabs, NXP), FPGA, Bare Metal Raspberry-PI programming
    VHDL-ALTERA-XILINX

  12. #12
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Mai 2009
    Messages
    26
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2009
    Messages : 26
    Points : 18
    Points
    18
    Par défaut
    Citation Envoyé par monnoliv Voir le message
    Autre suggestion: recrée un projet vide, mets ton bout de code et ça devrait obligatoirement fonctionner. Sinon, comme dit NokyDaOne, il y a qque chose de corrompu dans l'IDE.
    C'est ce que j'ai fait ! (cf le code que j'ai mis en exemple au début).

    Vraiment bizarre... Je dois réinstaller visual et espérer que ca marche ?

  13. #13
    Membre habitué Avatar de monnoliv
    Homme Profil pro
    Opticien-ébéniste: lunettes de WC
    Inscrit en
    Août 2003
    Messages
    139
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Opticien-ébéniste: lunettes de WC

    Informations forums :
    Inscription : Août 2003
    Messages : 139
    Points : 195
    Points
    195
    Par défaut
    C'est ce que je ferais :-)
    IoT CC3200, ESP8266
    8051, ARM Cortex-M (forever)/Cortex A (TI, Silabs, NXP), FPGA, Bare Metal Raspberry-PI programming
    VHDL-ALTERA-XILINX

Discussions similaires

  1. setPixels fait planter mon appli
    Par Reikiki dans le forum Android
    Réponses: 0
    Dernier message: 12/06/2014, 15h33
  2. Comment savoir ce qui fait crasher mon application
    Par rdeumil dans le forum Android
    Réponses: 4
    Dernier message: 03/05/2013, 16h50
  3. pourquoi ma boucle fait planté mon appli ?
    Par zerros dans le forum Windows Forms
    Réponses: 5
    Dernier message: 02/05/2009, 16h21
  4. Réponses: 13
    Dernier message: 02/11/2006, 15h12
  5. [Graphics2D] Mon panel fait ramer mon appli
    Par legzo dans le forum 2D
    Réponses: 6
    Dernier message: 22/07/2005, 15h16

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