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 :

erreur d'exception EAccessViolation


Sujet :

C++Builder

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 3
    Par défaut erreur d'exception EAccessViolation
    voilà je fais un projet avec un robot : il est piloté par une application depuis un téléphone (iphone, ...) et on doit récupérer les ordres qu'il reçoit
    biensûre avec borland c++ builder 6 et mysql 5.4.3 beta je précise, donc j'ai fais une appli de teste pour récupérer les ordre avec des boutons

    voici le code :
    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
    void __fastcall TForm1::ibotClick(TObject *Sender)
    {
            MYSQL *mySQL;
            MYSQL *etat;
            AnsiString myErrorMsg;
            MYSQL_RES *myRES;
            MYSQL_ROW myROW;
            AnsiString aStr;
            unsigned int i;
            unsigned int j;
            mysql_query(mySQL ,"INSERT INTO avancement VALUES('', 'avance','')");
     
            if(!mysql_real_connect(mySQL, "127.0.0.1","admin","","wifibot", 3306, NULL, 0))
            {
                    Edit1->Text="rate essaie encore";
                    myErrorMsg = mysql_error(mySQL);
                    Edit2->Text=myErrorMsg;
            }
            else
            {
                    Edit1->Text="prochaine etape";
                    if(!mysql_query(mySQL, "select * from avancement"))
                    {
                            myRES = mysql_store_result(mySQL);
                            if(myRES)
                            {
                                    for(i=0;i<myRES->row_count; i++)
                                    {
                                            myROW = mysql_fetch_row(myRES);
                                            for(j=0; j < mysql_num_fields(myRES); j++)
                                            {
                                                    aStr = myROW[j];
                                                    ListBox1->Items->Add(aStr);
                                            }
                                    }
     
                           }
                  }  
            }
     
     
    }
    et il me sort quand je klick sur ibot le projet .......exe a provoqué une classe d'exception EAccessViolation aved le message 'Access violation at address ....... in module "LIBMYSQL.DLL". read of address ..........'. prosessus stoppé. utilisez le Pas-à-pas ou Exe=écuter pour continuer.

    j'ai tout fait, on y est passé à 4 dessus et rien.

    s'il vous plait help.

  2. #2
    Membre Expert
    Avatar de sat83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2004
    Messages
    1 040
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 040
    Par défaut
    Sur quelle ligne se produit l'exception?

    Tu déclare des objets MYSQL (mySQL, etat) sans les instancier, est-ce normal?
    (je ne connais pas du tout MySQL et ce à quoi correspondent ses types)

    Si il s'agit effectivement d'objets, il faut les instancier, puis les détruire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     MYSQL *mySQL = new MYSQL(/*paramètre?*/) ;
     MYSQL *etat = new MYSQL(/*paramètre?*/) ;
     MYSQL_RES *myRES = new MYSQL_RES(/*paramètre?*/);
    //[...]
     delete mySQL;
     delete etat;
     delate myRES;

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 3
    Par défaut
    et bien c'est lors du login à la base de donnée.

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 3
    Par défaut
    psssssssssssssssuuuuuuuiiiiiiffff
    c'était chaud mais c'est bon après mainte essais et autres c'était le mySQL = mysql_init(NULL); qui merdait

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

Discussions similaires

  1. Problème avec une erreur d'exception inconnue
    Par yoyo72 dans le forum Delphi
    Réponses: 5
    Dernier message: 09/08/2006, 11h52
  2. affichage page erreur suite exception
    Par pram dans le forum XMLRAD
    Réponses: 1
    Dernier message: 20/09/2005, 17h25
  3. erreur Une exception s'est produite
    Par unix27 dans le forum ASP
    Réponses: 5
    Dernier message: 23/11/2004, 02h38
  4. Codes d'erreurs des exceptions
    Par dway dans le forum Assembleur
    Réponses: 3
    Dernier message: 08/09/2004, 09h37
  5. erreur :"une exception s'est produite"
    Par leborg dans le forum ASP
    Réponses: 11
    Dernier message: 02/03/2004, 15h09

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