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 :

Bug de CString ? ou mauvaise utilisation !


Sujet :

MFC

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre confirm�
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    85
    D�tails du profil
    Informations personnelles :
    Localisation : France, Loire (Rh�ne Alpes)

    Informations forums :
    Inscription : Mars 2007
    Messages : 85
    Par d�faut Bug de CString ? ou mauvaise utilisation !
    Bonjour,

    J'ai affaire � un dr�le de bug lorsque j'utilise la classe CString et surtout lorsque celle-ci fait appel � l'op�rator+ visiblement.
    Voici le code :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    CString Query="UPDATE "+m_Tables+" SET ";		
    for(int i=0;i<(int)m_pFX.m_TableauColonnes.m_nbElem;i++)
    		{
    			if(i==40)
    				i=40;
    			Query=Query+m_pFX.m_TableauColonnes.m_pTabString[i]+CString(" = '")+m_pFX.m_TableauValeurs.m_pTabString[i]+CString("',");
     
    		}
    Je m'explique : le if(i==40) me permet juste d'avoir un point d'arr�t � cet endroit car c'est � ce moment que la recopie ne se passe pas comme il faut.
    Lorsque j'ajoute le dernier element, la variable Query qui avait accumul� toutes mes chaines repassent � la valeur "". Pourtant je ne fais que des concat�nations...
    Est ce que quelqu'un aurait une id�e l� dessus ?

  2. #2
    R�dacteur
    Avatar de farscape
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes C�te d'Azur)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Par d�faut
    salut,
    attention en debug trace la visualisation de la CString est limit�e a 256 caract�res (du moins avec vc6.0).
    pour visualiser la chaine il vaut mieux faire un AfxMessageBox et ne pas inspecter la variable en mode trace..
    Sinon la v�rit� est ailleurs, la CString fonctionne tr�s bien sans bug connu .
    je m'en suis d�j� servi dans le m�me contexte que toi ( la g�n�ration d'une requete SQL) sans probl�me.
    quel est la nature de l'objet m_pTabString,il ne faudrait pas faire * ?

  3. #3
    Membre confirm�
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    85
    D�tails du profil
    Informations personnelles :
    Localisation : France, Loire (Rh�ne Alpes)

    Informations forums :
    Inscription : Mars 2007
    Messages : 85
    Par d�faut
    Ah, �a je ne le savais pas... Mais est ce que �a explique le remplacement complet de ma chaine de caract�re par une chaine vide � la derni�re concat�nation ? Par ce que si c'�tait limit� � 256 caract�res, j'arriverai normalement � suivre la trace des 256 premiers caract�res et non pas une chaine vide ?

    edit : m_pTabString[i] est un tableau de CString donc normalement pas de d�f�rencement... Et puis �a marche pour les premi�res chaines alors je vois pas pourquoi �a ne marcherai pas pour la 40eme chaine

  4. #4
    R�dacteur
    Avatar de farscape
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes C�te d'Azur)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Par d�faut
    Citation Envoy� par globule71
    Ah, �a je ne le savais pas... Mais est ce que �a explique le remplacement complet de ma chaine de caract�re par une chaine vide � la derni�re concat�nation ? Par ce que si c'�tait limit� � 256 caract�res, j'arriverai normalement � suivre la trace des 256 premiers caract�res et non pas une chaine vide ?
    non �a n'explique pas tout, mais tu n'as pas repondu �
    quel est la nature de l'objet m_pTabString,il ne faudrait pas faire * ?

  5. #5
    Membre confirm�
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    85
    D�tails du profil
    Informations personnelles :
    Localisation : France, Loire (Rh�ne Alpes)

    Informations forums :
    Inscription : Mars 2007
    Messages : 85
    Par d�faut
    Desol� j'avais pas vu ta derni�re question

  6. #6
    Membre confirm�
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    85
    D�tails du profil
    Informations personnelles :
    Localisation : France, Loire (Rh�ne Alpes)

    Informations forums :
    Inscription : Mars 2007
    Messages : 85
    Par d�faut
    Bon j'ai tent� d'arr�ter la recopie dans la boucle du for juste avant la derni�re chaine pour r�cup�rer une chaine remplie... et j'ai essey� de remplir avec le dernier element hors de la boucle : mais cette fois ci �a plante m�chamment sur l'operator+ qui re�oit en param�tre un pointeur de la chaine � concat�ner ainsi que.... un pointeur vide !
    Visiblement � l'appel de l'op�rator+ je perds carr�ment le pointeur du CString
    Pour t'as question si t'as pas vu le edit du dessus j'ai bien un tableau de CString avec le m_pTabString

Discussions similaires

  1. Vilain bug ou mauvaise utilisation de ma part ?
    Par ForgetTheNorm dans le forum AWT/Swing
    R�ponses: 11
    Dernier message: 03/04/2008, 16h39
  2. Mauvaise utilisation des ressources [DATAWARE HOUSE]
    Par bvincent dans le forum Requ�tes
    R�ponses: 1
    Dernier message: 20/06/2007, 12h28
  3. mauvaise utilisation de having ?
    Par maysa dans le forum Langage SQL
    R�ponses: 4
    Dernier message: 01/06/2007, 16h48
  4. Bug ou mauvaise utilisation des FileUpload?
    Par mael94420 dans le forum ASP.NET
    R�ponses: 8
    Dernier message: 03/05/2007, 09h13
  5. Mauvaise utilisation d'une DLL ?
    Par _SamSoft_ dans le forum C
    R�ponses: 6
    Dernier message: 21/02/2007, 00h14

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