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 :

un message d'erreur


Sujet :

C++Builder

  1. #1
    Membre averti
    Inscrit en
    Avril 2008
    Messages
    24
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Avril 2008
    Messages : 24
    Par défaut un message d'erreur
    alors j'ai un petit probleme,
    quand je compile mon programme c cool, pas de probleme
    mais quand j'execute, et un momnt u je clique sur un bouton j'ai ce message:

    Violation d’accés à l’adresse 00402534 dabs le module ‘Project1.exe’ écriture de l’adresse 00000004

    a quoi peut correspondre ce message, kel peut etre le probleme?!!!

    Merci

  2. #2
    Membre éprouvé
    Avatar de Sunchaser
    Homme Profil pro
    OPNI (Objet Programmant Non Identifié)
    Inscrit en
    Décembre 2004
    Messages
    2 059
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : OPNI (Objet Programmant Non Identifié)
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 059
    Par défaut
    Bonsoir,

    Il faudrait (au moins), le bout de code déclenché par le click sur le bouton.

    @+

  3. #3
    Membre averti
    Inscrit en
    Avril 2008
    Messages
    24
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Avril 2008
    Messages : 24
    Par défaut
    Oui biensuur:

    alors ce bouton sert a diviser chaque attribut en ensemble floues ( c pas des intervalles mais ca y ressemble)

    alors avant je n'avais pas de probleme sur ce code qui me permetais de dessiner juste les deux axes:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    if ((A->Edit1->Text == "")
      ||(A->Edit2->Text == ""))
    MessageDlg("Vous n'avez pas introduit \n la valeur maximale \n ou le nombre d'ensembles flous", mtError, TMsgDlgButtons() << mbOK, 0);
     else
     {p_val= StrToInt(Edit1->Text);/je recupere la valeur maximum des X dur un edit
     
    ax.draw();
     ;
     
     }
    }
    Mais quand j'ai voulu dessiner les ensembles flous.. la ca se complique, et pourtant lors de la compilation, aucun probleme ne se pose
    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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
     
    void __fastcall TA::BitBtn2Click(TObject *Sender)
    {
    if ((A->Edit1->Text == "")
      ||(A->Edit2->Text == ""))
    MessageDlg("Vous n'avez pas introduit \n la valeur maximale \n ou le nombre d'ensembles flous", mtError, TMsgDlgButtons() << mbOK, 0);
     else
     {p_val= StrToInt(Edit1->Text);
      nbi= StrToInt(Edit2->Text);
      ptr_at->nb_int= nbi;
      ptr_at->pval = p_val;
      ptr_at->tete.suivant=NULL;
      ptr_at->tete.precedent=NULL;
      ptr_at->ptr_ef=&ptr_at->tete;
      for(e=0; e<nbi; e++)
    {
     ptr_at->ptr_ef->suivant= new ens_flou;
     ptr_at->ptr_ef->suivant->precedent=ptr_at->ptr_ef;
     ptr_at->ptr_ef=ptr_at->ptr_ef->suivant;
     ptr_at->ptr_ef->suivant=NULL;
     ptr_at->ptr_ef->supp=0;
     ptr_at->ptr_ef->tabe =new float[nb_enrg];
     for (l=0; l<nb_enrg; l++)
     {
      ptr_at->ptr_ef->tabe[l]=0;
     }
    }
    ptr_at->tete.suivant->precedent=ptr_at->ptr_ef;//relier le premier ens_flou au dernier
    ptr_at->ptr_ef->suivant=ptr_at->tete.suivant;  //relier le dernier ens_flou au premier
    ptr_at->ptr_ef=ptr_at->tete.suivant;
     
    ax.draw();
       Edit4->Clear();
       Edit5->Clear();
       Edit6->Clear();
       Edit7->Clear();
       ListBox1->Clear();
       Edit4->Enabled=true;
       Edit5->Enabled=true;
       Edit6->Enabled=true;
       Edit7->Enabled=true;
       BitBtn6->Enabled=true;
       BitBtn3->Enabled=true;
       BitBtn2->Enabled=false;
       Edit1->Enabled=false;
       Edit2->Enabled=false;
     
     }
    }

    Je me dis que le probleme se pose peutetre avc la coordination de tt mon programme car ya encore d'autre bouton!!!

    j'ai pas trop envie de le charger mais je vais quand meme ajouter ce bouton qui vient avant le bouton de "division", qui valide le choix des attribut a traiter:
    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
    25
    26
    27
    28
    29
    30
    31
    32
    void __fastcall TB::BitBtn1Click(TObject *Sender)
    {
    int i;
      nb_at=0;
     A->ComboBox1->Clear();//refraichissement de la liste des attributs quantitatifs
      for(i=0;i<ListBox2->Count;i++)
      {
        A->ComboBox1->Items->Add(ListBox2->Items->Strings[i]);
        nb_at++;
      }
     
        if(nb_at != 0) // pour éviter que le nb_att_q soit null;
        {
         A->ComboBox1->ItemIndex=0;
       tete_at.suivant=NULL;
       ptr_at=&tete_at;
       for (int e=0; e<A->ComboBox1->Items->Count; e++)
       {
        ptr_at->suivant =new attribut;
        ptr_at=ptr_at->suivant;
        ptr_at->suivant=NULL;
        ptr_at->nom=A->ComboBox1->Items->Strings[e];
       }
       ptr_at=tete_at.suivant;
       B->ListBox1->Clear();
       A->Bevel1->Repaint();
     
      }
         else
      MessageDlg("Vous n'avez séléctionné aucun attributs", mtInformation, TMsgDlgButtons() << mbOK, 0);
     
    }
    sur ce bouton je n'ai eu aucun probleme, mais je ne c pas si il a réalisé ce que je voulais!!!

    Pardon a l'avance, je sais que ce n'est pas evidant a comprendre....

  4. #4
    Membre Expert
    Avatar de Crayon
    Inscrit en
    Avril 2005
    Messages
    1 811
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 811
    Par défaut
    Salut, tu devrais mettre un "break point" au début du code de ton bouton et tester ligne par ligne pour voir sur quelle ligne le programme crash.

  5. #5
    Membre éprouvé
    Avatar de Sunchaser
    Homme Profil pro
    OPNI (Objet Programmant Non Identifié)
    Inscrit en
    Décembre 2004
    Messages
    2 059
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : OPNI (Objet Programmant Non Identifié)
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 059
    Par défaut
    Bonsoir

    Qu'est ce que "ptr_at" ?
    Est ce que tu as crée qqpart une nouvelle instance de cet "objet" avant le code du BitBtn2

    @+

  6. #6
    Membre averti
    Inscrit en
    Avril 2008
    Messages
    24
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Avril 2008
    Messages : 24
    Par défaut
    Citation Envoyé par Crayon Voir le message
    Salut, tu devrais mettre un "break point" au début du code de ton bouton et tester ligne par ligne pour voir sur quelle ligne le programme crash.
    En verite j'hesite a chaque fois avant de poster par peur de dire des "betises" et de paraitre "bete", mais dsl je suis une debutante, j'ai commencé pour la premiere fois le builder en fevrier dernier, donc je connais tres peu de choses..

    Sinon tt ca pour diire que je ne sais pas utiliser ce "break point", je l'ai ecrit comme ca betement au debut de mon bouton, mais aparement la syntaxe ne correspond pas

    DSl ...........

  7. #7
    Membre averti
    Inscrit en
    Avril 2008
    Messages
    24
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Avril 2008
    Messages : 24
    Par défaut
    Citation Envoyé par Sunchaser Voir le message
    Bonsoir

    Qu'est ce que "ptr_at" ?
    Est ce que tu as crée qqpart une nouvelle instance de cet "objet" avant le code du BitBtn2

    @+
    Dans ma declaration:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    int i=0,e,p_val,nbi;
    axe ax;
    int *don;
    int nb_enrg;
    int x1,y,x2,l;
    attribut *ptr_at,tete_at;
    attribut *ptr_at2;
    et voici mes classes
    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
    25
    26
    27
    28
    29
    30
    31
    class point
            {
    public :
             int x,y;
             point();
             };
    //---------------------------------------------------------------------------
     
    class ens_flou
            {
    public :
             String nom_it;
             float *tabe;
             float supp;
             class point tabpt[4];
             struct ens_flou * suivant;
             struct ens_flou * precedent;
             ens_flou();
             };
    //---------------------------------------------------------------------------
     
    class attribut
            {
    public :
             String nom;
             int nb_int;
             int pval;
             class ens_flou *ptr_ef,tete;
             struct attribut * suivant;
             attribut();
            };

  8. #8
    Membre éprouvé
    Avatar de Sunchaser
    Homme Profil pro
    OPNI (Objet Programmant Non Identifié)
    Inscrit en
    Décembre 2004
    Messages
    2 059
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : OPNI (Objet Programmant Non Identifié)
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 059
    Par défaut
    Oui, oki mais je ne crois pas voir qqpart (pour le moment) qqchose comme:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
         ptr_at2 = new attribut;
    //edit: et au passage, es tu obligé de définir une class Point, sachant que l'on a déjà TPoint (dans builder) par ex ?

  9. #9
    Membre averti
    Inscrit en
    Avril 2008
    Messages
    24
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Avril 2008
    Messages : 24
    Par défaut
    Citation Envoyé par Sunchaser Voir le message
    Oui, oki mais je ne crois pas voir qqpart (pour le moment) qqchose comme:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
         ptr_at2 = new attribut;

    oui c vrai, en faite je l'ai declaré mais je ne l'utilise pas encore,
    faute grossiere?!!

  10. #10
    Membre éprouvé
    Avatar de Sunchaser
    Homme Profil pro
    OPNI (Objet Programmant Non Identifié)
    Inscrit en
    Décembre 2004
    Messages
    2 059
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : OPNI (Objet Programmant Non Identifié)
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 059
    Par défaut
    Nan, excuses, je parlais de "ptr_at", je n'étais pas sur d'avoir vu le "new ...etc".

  11. #11
    Membre averti
    Inscrit en
    Avril 2008
    Messages
    24
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Avril 2008
    Messages : 24
    Par défaut
    ds le button qui sert a valider les choix

    ......
    ptr_at=&tete_at;
    for (int e=0; e<A->ComboBox1->Items->Count; e++)
    {
    ptr_at->suivant =new attribut;
    .......

  12. #12
    Membre averti
    Inscrit en
    Avril 2008
    Messages
    24
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Avril 2008
    Messages : 24
    Par défaut
    aparement aujourd'hui il s'exécute sans message d'erreurs, bon je n'ai pas exactement le resultat qui me convient, mais le message d'erreur aparement est aléatoire, il vient quand il veut....
    Mais je pense que ca a avoir avec la facon dont je l'ouvre...
    En tout cas pour l'instant c OK!!!

    Merci...

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

Discussions similaires

  1. [TSocket] Message d'erreur
    Par rgz dans le forum Web & réseau
    Réponses: 6
    Dernier message: 04/07/2003, 09h16
  2. Surcharger le message d'erreur après un OnException
    Par Tirlibibi dans le forum XMLRAD
    Réponses: 2
    Dernier message: 24/04/2003, 11h42
  3. Réponses: 4
    Dernier message: 04/03/2003, 01h05
  4. [CR] Message d'erreur
    Par nono1 dans le forum SAP Crystal Reports
    Réponses: 2
    Dernier message: 11/09/2002, 14h54
  5. Réponses: 2
    Dernier message: 27/05/2002, 19h46

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