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 :

Access violation at Adress


Sujet :

C++Builder

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Août 2002
    Messages
    481
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 481
    Points : 242
    Points
    242
    Par défaut Access violation at Adress
    Bonjour,
    j'avais écrit, en l'an 2000, avec C++ Builder 5 un logiciel.
    Je l'ai recompilé avec la version XE2 de C++ Builder.
    La compilation se passe sans problème.
    Le programme démarre et fonctionne correctement sauf :
    après être passé par le FormShow(TObject *Sender) qui se passe
    bien, j'ai vérifié avec un ShowMessage("Sortie de FormShow()"),
    il s'affiche le message "Access violation at Adress 0040410C in module 'xxxx.exe'
    Read Adress 540121B6".

    La fenêtre du programme est bien affichée.

    Il suffit d'appuyer sur OK et le programme peut être utilisé.

    Quelqu'un a-t-il une idée ded l'origine du problème ?
    Que se passe-t-il normalement après l'affichage ?

    Merci de votre aide
    Gilbert PASQUALINI

  2. #2
    Membre chevronné
    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
    Points : 2 189
    Points
    2 189
    Par défaut
    Salut, quand tu es passé de C++ Builder 5 à XE2 est-ce que tu as fais un Clean avant de compiler. Des fois il arrive que certain fichier obj ne sont pas recompiler et garde le code de l'ancienne version. Par la suite le linker te fais un beau exe qui crash.
    • Plus un ordinateur possède de RAM, plus vite il peut générer un message d'erreur. - Dave Barry
    • Je n'ai pas peur des ordinateurs. J'ai peur qu'ils viennent à nous manquer. - Isaac Asimov
    • Le code source est comme une belle femme, plus on le regarde, plus on trouve des défauts. - Crayon

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Août 2002
    Messages
    481
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 481
    Points : 242
    Points
    242
    Par défaut
    oui, j'ai effacé tous les fichiers qui sont générés par la compilation. Je le fais d'ailleurs systématiquement.

    Le message apparaît après FormActivate(...).

    Je me demande ce qui se passe après l'activation de la Forme.
    Gilbert PASQUALINI

  4. #4
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2005
    Messages
    401
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2005
    Messages : 401
    Points : 578
    Points
    578
    Par défaut
    Hello,

    Tu as laissé Builder importer le projet ou tu as recréé un fichier projet de zéro ??
    Est-ce qu'il aurait un mic-mac avec la propriété OldCreateOrder de ton TForm, et l'enchaînement entre ton constructeur, un OnCreate éventuel, le OnShow ??

  5. #5
    Membre actif
    Profil pro
    Inscrit en
    Août 2002
    Messages
    481
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 481
    Points : 242
    Points
    242
    Par défaut
    J'ai laissé Builder importer le projet.

    J'ai créé un TMemo pour voir l’enchaînement des actions en inscrivant dans chacun des processus un "Sortie de tel action".
    Il y a dans l'ordre :
    OnCreate
    OnShow
    OnActivate.
    Et c'est après le OnActivate qu’apparaît le message, mais, comme je l'ai écrit, il suffit d'appuyer sur OK pour que le programme se déroule correctement.

    Quelle est la propriété "OldCreateOrder" ?
    Gilbert PASQUALINI

  6. #6
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2005
    Messages
    401
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2005
    Messages : 401
    Points : 578
    Points
    578
    Par défaut
    Pour le OldCreateOrder, cf. la doc en ligne (normamement elle devrait être à false, mais à la réflexion, ça ne doit pas venir de là)
    Est-ce que tu as quelque chose de particulier qui s'exécuterait dans le OnEnter d'un contrôle, ou un OnChange, ou un OnResize ???
    Quand tu as ta violation d'accès, y'a quoi dans la pile d'appel ??

  7. #7
    Membre actif
    Profil pro
    Inscrit en
    Août 2002
    Messages
    481
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 481
    Points : 242
    Points
    242
    Par défaut
    J'ai fini par trouver l'origine du message d'erreur.
    Elle est générée par un petit programme auxiliaire donnant les informations de version.

    Je n'ai pas approfondi pour connaître où se situait exactement la ou les instructions générant l’erreur. Pour le moment je me suis contenté de ne plus faire appel à ce programme auxiliaire.

    Merci de vous être dérangé pour me venir en aide.

    Bon Noël à tous
    Gilbert PASQUALINI

Discussions similaires

  1. Access violation at adress in module 'toad.exe'
    Par haykelFST dans le forum Toad
    Réponses: 1
    Dernier message: 19/09/2012, 09h26
  2. Access violation at adress in module 'toad.exe'
    Par haykelFST dans le forum Toad
    Réponses: 2
    Dernier message: 18/09/2012, 11h32
  3. access violation at 0x32825c2e:read of adress 0x0000008
    Par nezhaaem dans le forum C++Builder
    Réponses: 9
    Dernier message: 23/07/2010, 11h49
  4. access violation at adress 0057744.read of address 000000
    Par zanoubya dans le forum Débuter
    Réponses: 2
    Dernier message: 21/06/2010, 17h34
  5. Réponses: 3
    Dernier message: 22/05/2002, 09h37

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