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

Delphi Discussion :

Violation d'accès aléatoire


Sujet :

Delphi

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    174
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 174
    Points : 38
    Points
    38
    Par défaut Violation d'accès aléatoire
    Bonjour,

    J'ai une application qui provoque de manière aléatoire une exception "Violation d'accès".
    Cette exception met très longtemps avant d’être déclenchée et je ne l'ai jamais en mode debug dans l'IDE.
    Du coup j'ai utilisé MadExcept pour essayé de situer l'endroit du plantage.
    Malheureusement je ne comprend pas grand chose au rapport que me fourni MadExcept.

    Il me situe l'origine de l'exception dans TMonitor.GetBoundsRect dans la callstack.
    Je ne comprend vraiment pas.

    Pour info je suis actuellement en Delphi 2007 et le même code compilé en Delphi 2006 ne posait pas ce problème.

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    174
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 174
    Points : 38
    Points
    38
    Par défaut TMonitor.GetBoundsRect access violation bug Delphi 2007 ?
    Après quelques recherches sur le net, il semblerait que le problème viendrait d'un bug Delphi dans TMonitor.
    Quelqu'un parmi vous a-t-il rencontré ce problème?
    Je suis actuellement en Delphi 2007 build # 11.0.2804.9245
    A priori le problème serait résolu sur la version 12.0.3098.14518 savez vous si ca correspond encore à Delphi 2007?

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    174
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 174
    Points : 38
    Points
    38
    Par défaut TMonitor.GetBoundsRect access violation contournement
    Ci dessous un contournement possible (à tester) :
    http://stackoverflow.com/questions/1...-2007-triggere

  4. #4
    Rédacteur/Modérateur
    Avatar de Andnotor
    Inscrit en
    Septembre 2008
    Messages
    5 685
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 685
    Points : 13 102
    Points
    13 102
    Par défaut
    Essaie d'ajouter cela à la fiche :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    type
      TForm1 = class(TForm)
      protected
        procedure WMDisplayChange(var Message :TMessage); message WM_DISPLAYCHANGE;
      end;
     
    procedure TForm1.WMDisplayChange(var Message :TMessage);
    begin
      Monitor;
    end;

Discussions similaires

  1. violation d'accès aléatoire
    Par ouiouioui dans le forum Débuter
    Réponses: 6
    Dernier message: 29/10/2010, 10h48
  2. [XMLDocument] Violation d'accès
    Par xant dans le forum Composants VCL
    Réponses: 8
    Dernier message: 29/09/2004, 15h39
  3. requete / violation d'accès
    Par marie253 dans le forum Bases de données
    Réponses: 4
    Dernier message: 13/08/2004, 13h29
  4. Violation d'acces apres Execute
    Par SegmentationFault dans le forum Connexion aux bases de données
    Réponses: 6
    Dernier message: 10/08/2004, 16h23
  5. Violation d'accès apres Close
    Par SegmentationFault dans le forum Bases de données
    Réponses: 3
    Dernier message: 05/07/2004, 16h46

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