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

MFC Discussion :

Erreur de TreeCtrl


Sujet :

MFC

  1. #1
    Membre éclairé Avatar de Shandler
    Profil pro
    Inscrit en
    Février 2005
    Messages
    514
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 514
    Par défaut Erreur de TreeCtrl
    Bonjour !!

    J'ai un code qui me permet d'utiliser un TreeCtrl dans mon IHM avec ce TreeCtrl je fais une sélection de fichier qui me permet d'afficher ce fichier sélectionné.

    Donc voila tous marche bien quand je sélectionne le fichier mais dés que j'oublie de sélectionné le fichier, une erreur apparait de type :
    "Debug Insertion Failed !"
    puis le programme plante en affichant la fenetre qui me dit de sélectionné un fichier (code que jai fais voire en desous*).

    *
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(!fin) {AfxMessageBox("Error ouverture du fichier\n: " + szFilePath);};
    Merci de votre aide car la je bloque !

  2. #2
    Rédacteur
    Avatar de bigboomshakala
    Homme Profil pro
    Consultant Web .NET
    Inscrit en
    Avril 2004
    Messages
    2 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant Web .NET
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2004
    Messages : 2 077
    Par défaut Re: Erreur de TreeCtrl
    salut

    Citation Envoyé par Shandler
    Bonjour !!

    J'ai un code qui me permet d'utiliser un TreeCtrl dans mon IHM avec ce TreeCtrl je fais une sélection de fichier qui me permet d'afficher ce fichier sélectionné.
    quand tu (double)cliques sur l'item du CTreeCtrl, ça ouvre le fichier ? ou il y a un bouton ?

    Donc voila tous marche bien quand je sélectionne le fichier mais dés que j'oublie de sélectionné le fichier, une erreur apparait
    oublier de sélectionner le fichier = pas de sélection dans le tree, mais clic sur le bouton qui ouvre le fichier ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(!fin) {AfxMessageBox("Error ouverture du fichier\n: " + szFilePath);};
    ce bout de code là ne nous aide pas à comprendre ce que se passe (et on ne sais pas non plus à quoi correspond 'fin').

  3. #3
    Membre éclairé Avatar de Shandler
    Profil pro
    Inscrit en
    Février 2005
    Messages
    514
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 514
    Par défaut
    Oui je sélectionne le fichier puis j'appuis sur un bouton et ca affiche le fichier.

    ET oublier de sélectionner c'est bien apuie sur le bouton sans sélection.

    Pour le code je vous ai donné un bout du code qui me sert pour générer le fichier qui sera lut donc le code sert pour verifier si le fichier c'est bien ouvert.

    szFilePath= Cette variable contient le chemin du fichier + le nom du fichier.

    Merci de ton aide !!

  4. #4
    Rédacteur
    Avatar de bigboomshakala
    Homme Profil pro
    Consultant Web .NET
    Inscrit en
    Avril 2004
    Messages
    2 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant Web .NET
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2004
    Messages : 2 077
    Par défaut
    lorsque l'utilisateur clik sur le bouton, il faut détecter si un item du treectrl est sélectionner

    - si oui, ouvrir le fichier
    - si non, message d'avertissement

    éventuellement, si chaque fois que l'utilisateur clik sur le bouton tu remets szFilePath = "" à la fin, alors il suffit de vérifier si szFilePath = "" au moment du clik

    - si oui, c'est qu'aucun fichier n'a été sélectionné depuis la dernière fois que l'utilisateur a cliké sur le bouton
    - si non, alors szFilePath est le path du fichier représenté par le dernier item qui a été sélectionné dans l'arbre

  5. #5
    Membre éclairé Avatar de Shandler
    Profil pro
    Inscrit en
    Février 2005
    Messages
    514
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 514
    Par défaut
    C'est ce que jai voulu faire en faisant un if pour récuperer l'etat de szFilePath avec une valeur de retour mais ca veut pas car deja j'ai pas trouvé quelle valeur il me retourne quand la variable est vide.

    Code pour la sélection
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    CString szFilePath=m_TreeControle.GetFullPath
    (m_TreeControle.GetSelectedItem());
     
    ifstream fin;
     
       	//Ouverture du fichier à lire.
    	fin.open( szFilePath);
    	if(!fin) {AfxMessageBox("Error ouverture du fichier\n: " + szFilePath);};
    Merci encore

  6. #6
    Rédacteur
    Avatar de bigboomshakala
    Homme Profil pro
    Consultant Web .NET
    Inscrit en
    Avril 2004
    Messages
    2 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant Web .NET
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2004
    Messages : 2 077
    Par défaut
    Citation Envoyé par Shandler
    C'est ce que jai voulu faire en faisant un if pour récuperer l'etat de szFilePath avec une valeur de retour mais ca veut pas car deja j'ai pas trouvé quelle valeur il me retourne quand la variable est vide.

    Code pour la sélection
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    CString szFilePath=m_TreeControle.GetFullPath(m_TreeControle.GetSelectedItem());
     
    ifstream fin;
     
       	//Ouverture du fichier à lire.
    	fin.open( szFilePath);
    	if(!fin) {AfxMessageBox("Error ouverture du fichier\n: " + szFilePath);};
    Merci encore
    elle sort d'où la méthode GetFullPath ? pour ton problème il suffit de vérifier que (GetSelectedItem() != NULL) ou que GetFullPath() (?) renvoie la valeur par défaut s'il n'a pas trouvé ce que tu lui demandes.

    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
    if (m_TreeControle.GetSelectedItem())
    {
       CString szFilePath=m_TreeControle.GetFullPath(m_TreeControle.GetSelectedItem());
     
       ifstream fin;
     
       //Ouverture du fichier à lire.
       fin.open( szFilePath);
     
       if(!fin)
          AfxMessageBox("Error ouverture du fichier\n: " + szFilePath);   
     
       ...
    }
    else
    {
       AfxMessageBox("Vous n'avez pas sélectionné d'item dans l'arborescence !!!");
    }

  7. #7
    Membre éclairé Avatar de Shandler
    Profil pro
    Inscrit en
    Février 2005
    Messages
    514
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 514
    Par défaut
    Deja merci car maintenant quand je sélectionne pas de fichier ca affcihe bien un message mais voila un second probléme est apparu.

    Ce probléme est que maintenant si je sélectionne dans l'arborescence un repertoire au lieu d'un fichier est que j'appuie sur le bouton il y a bien la fenetre qui me dit "Error ouverture du fichier" mais le logiciel plante donc si tu as une idée je t'en remercie beaucoup.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    ifstream fin;
        ofstream fout; 
     
       	//Ouverture du fichier à lire.
    	fin.open( szSource);
    	if(!fin) {AfxMessageBox("Error ouverture du fichier\n: " + szSource);};

  8. #8
    Membre éclairé Avatar de Shandler
    Profil pro
    Inscrit en
    Février 2005
    Messages
    514
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 514
    Par défaut
    Pas d'idée pour mon second probléme ??

    Merci quand même

Discussions similaires

  1. Erreur fréquente avec ASP et IIS
    Par Community Management dans le forum ASP
    Réponses: 2
    Dernier message: 11/02/2004, 22h20
  2. Check Url pour savoir si erreur 404 ou si le site existe
    Par Clément[Delphi] dans le forum Composants VCL
    Réponses: 2
    Dernier message: 07/08/2002, 13h49
  3. Réponses: 2
    Dernier message: 27/05/2002, 19h46
  4. erreur IDL:omg.org/CORBA/MARSHAL:1.0
    Par Pinggui dans le forum CORBA
    Réponses: 3
    Dernier message: 13/05/2002, 15h05
  5. [Kylix] Erreur objet
    Par Anonymous dans le forum EDI
    Réponses: 1
    Dernier message: 22/03/2002, 09h41

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