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++Builder Discussion :

Stocker combobox et checkbox dans TStringList


Sujet :

C++Builder

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2010
    Messages
    265
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 265
    Par défaut Stocker combobox et checkbox dans TStringList
    J'ai un problème sur ces deux lignes:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    strList->Add(ComboBox1->Text);

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    strList->Add(CheckBox1->Caption);

    Compilation mais quand je remplis la checkbox et la combobox,"j'ai une classe d'exception EAccessViolation"

    Avant j'avais mi le résultat de la checkbox et de la combobox directement dans un StringGrid et cela marchait très bien:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    StringGrid1->Cells[5][1]=ComboBox1->Text;
    StringGrid1->Cells[6][1]=CheckBox1->Caption;
    Mais j'ai besoin de stocké ça dans la strList car après je fais une boucle for pour tout afficher ce qu'il y a dedant... quelqu'un peut me dire d'ou vient cette erreur?

  2. #2
    Membre émérite
    Avatar de free07
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    941
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardèche (Rhône Alpes)

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

    Informations forums :
    Inscription : Mars 2005
    Messages : 941
    Par défaut
    A quel endroit exact a tu l'erreur de violation ?
    Comment remplis tu la StringList ?

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2010
    Messages
    265
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 265
    Par défaut
    Oui c'est ça, je compile, tout est OK et quand j'arrive à l'endroit ou je sélectionne un champ au hasard dans le ComboBox il me met cette erreur...

  4. #4
    Membre émérite
    Avatar de free07
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    941
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardèche (Rhône Alpes)

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

    Informations forums :
    Inscription : Mars 2005
    Messages : 941
    Par défaut
    Citation Envoyé par dekalima Voir le message
    Oui c'est ça, je compile, tout est OK et quand j'arrive à l'endroit ou je sélectionne un champ au hasard dans le ComboBox il me met cette erreur...
    difficile à voir si tu ne met pas un bout de code et en indiquant exactement sur quelle ligne cela plante...

  5. #5
    Expert confirmé

    Avatar de pottiez
    Homme Profil pro
    Développeur C++
    Inscrit en
    Novembre 2005
    Messages
    7 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2005
    Messages : 7 152
    Par défaut
    Salut dekalima,
    free07 te demande à juste titre plus de précision sur ton erreur, met plus de code avec lequel tu utilise ta ComboBox, précise quel ligne exacte provoque l'exception, ou encore si ton code figure dans un événement particulier, ...

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2010
    Messages
    265
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 265
    Par défaut
    Yes, voici plus d'informations :

    il y a :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    void __fastcall TForm1::ComboBox1Change(TObject *Sender)
    {
    //Consultez la propriété ItemIndex pour déterminer l'élément de la liste qui définit la valeur de la boîte
    // à options. Cette valeur apparaît dans la zone de saisie de la boîte à options.
    //Le premier élément de la liste a l'indice 0, le second l'indice 1, etc.
    //S'il n'y a pas d'élément sélectionné, ItemIndex a la valeur -1.
     
    if( ComboBox1->ItemIndex != -1 )
              strList->Add(ComboBox1->Text);
     
    }
    et il y a ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    void __fastcall TForm1::CheckBox1Click(TObject *Sender)
    {
          if(CheckBox1->Checked == true)
     
     
          {
            strList->Add(CheckBox1->Caption);
     
          }
     
    }

    Lors de la compilation , pas d'erreur, MAIS dans l'executable quand je choisis un champ de la ComboBox il me met cette erreur:


  7. #7
    Membre émérite
    Inscrit en
    Juillet 2005
    Messages
    512
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 512
    Par défaut
    Peux-tu nous donner la définition de strList

  8. #8
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2010
    Messages
    265
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 265
    Par défaut
    dans le .cpp

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    strList = new TStringList();
    et j'ai dans le .h:


  9. #9
    Expert confirmé

    Avatar de pottiez
    Homme Profil pro
    Développeur C++
    Inscrit en
    Novembre 2005
    Messages
    7 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2005
    Messages : 7 152
    Par défaut
    Citation Envoyé par dekalima Voir le message
    dans le .cpp

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    strList = new TStringList();
    As quel endroit dans le .cpp ?

    Fait tu un delete dessus à un moment ?

  10. #10
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2010
    Messages
    265
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 265
    Par défaut
    aaaah j'ai une idée
    en fait il est dans unefonction qui est :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    void __fastcall TForm1::Button1Click(TObject *Sender)
    //j'appuie sur un bouton pour valider le formulaire


    Mais comme quand je choisis le champ de la comboBox1, checkBox1, j'ai pas encore cliqué sur ce bouton, donc j'ai pas encore défini la strList, il la trouve pas
    ça serait pas ça ?

    ou je peux la mettre la définition de srtList dans ce cas?

  11. #11
    Expert confirmé

    Avatar de pottiez
    Homme Profil pro
    Développeur C++
    Inscrit en
    Novembre 2005
    Messages
    7 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2005
    Messages : 7 152
    Par défaut
    C'est tout à fait ça.

    Tu peut mettre l'instanciation (le new) dans le constructeur de ta fenêtre (fonction TForm1).

    Tu peut également mettre un delete dans l’événement OnClose de ta fenêtre

  12. #12
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2010
    Messages
    265
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 265
    Par défaut
    Yes, j'y avait pensé rapidement, merci t'es un killer.
    Merci pour ta disponibilité et la qualité de tes explications

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. stocker resultat checkbox dans BDD avec serialize
    Par mikael2235 dans le forum Langage
    Réponses: 3
    Dernier message: 20/08/2012, 01h21
  2. Réponses: 5
    Dernier message: 30/03/2007, 20h54
  3. checkbox dans combobox
    Par mosquitout dans le forum VB 6 et antérieur
    Réponses: 13
    Dernier message: 10/11/2005, 14h37
  4. CheckBoxes dans un QuickReport ?
    Par Soulama dans le forum Composants VCL
    Réponses: 2
    Dernier message: 11/07/2005, 15h59
  5. [VB.NET] Insérer une colonne de CheckBox dans un DataGrid
    Par Manue.35 dans le forum Windows Forms
    Réponses: 2
    Dernier message: 22/05/2003, 11h44

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