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 :

AccessViolation dans TControl.Notification()


Sujet :

Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2004
    Messages : 18
    Par défaut AccessViolation dans TControl.Notification()
    Bonjour,

    Voilà depuis qq temps, quand je quitte mon programme en debug, j'ai un AccessViolation dans la méthode TControl.Notification(). J'ai d'abord pensé que c'était lors de la destruction de certaines fenêtres et j'ai donc fais un peu de ménage dans les OnDestroy (j'ai tjs tendance à vouloir tout détruire et nettoyer manuellement et parfois c'est un peu trop ). Bref comme le problème ne se reproduisait plus j'ai pensé que c'était bon. Pas de bol qq jours plus tard ca a recommencé. J'ai donc pensé à mettre des points d'arrêt pour retracer le problème. Mais dès que je fais ca je n'ai plus aucune erreur, tout fonctionne correctement :/.
    J'ai refais du ménage hier mais là aujourd'hui ca recommence. Est ce que quelq'un aurait une idée ou une suggestion ? Parce que je commence à péter un câble. Surtout que cette *ù$^= de :!$*$° d'erreur se produit aléatoirement
    Merci d'avance !

    Frank.

  2. #2
    Expert confirmé

    Avatar de sjrd
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Juin 2004
    Messages
    4 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Suisse

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2004
    Messages : 4 517
    Par défaut
    Utilises-tu des threads ? Des DLL ou packages d'exécution ? S'agit-il d'un composant de tierce-partie qui provoque l'erreur ? De toi-même ? Quel est ce composant ?

    Bref donne un peu plus de détail Parce que là je ne vois pas comment t'aider
    sjrd, ancien rédacteur/modérateur Delphi.
    Auteur de Scala.js, le compilateur de Scala vers JavaScript, et directeur technique du Scala Center à l'EPFL.
    Découvrez Mes tutoriels.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2004
    Messages : 18
    Par défaut
    Citation Envoyé par sjrd
    Utilises-tu des threads ? Des DLL ou packages d'exécution ? S'agit-il d'un composant de tierce-partie qui provoque l'erreur ? De toi-même ? Quel est ce composant ?

    Bref donne un peu plus de détail Parce que là je ne vois pas comment t'aider
    threads : non
    DLL : oui pour l'accès à une BDD mais ca m'étonnerait beaucoup que ca ait un quelconque rapport
    packages d'exécution : ?

    L'erreur se situe dans la procédure TControl.Notification() de l'unité Controls :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    procedure TControl.Notification(AComponent: TComponent;
      Operation: TOperation);
    begin
      inherited Notification(AComponent, Operation);
      if Operation = opRemove then
        if AComponent = PopupMenu then PopupMenu := nil
        else if AComponent = Action then Action := nil;
    end;
    et le debuggeur s'arrête sur la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    f Operation = opRemove then
    Ce n'est pas moi qui provoque l'erreur, et je ne sais pas quel composant héritant de TControl pose problème (sinon je ne poserai pas la question ).
    D'après ce que je lis dans l'aide cette méthode permet de mettre à jour la propriété PopupMenu, propriété que je n'utilise à aucun endroit.

    Désolé de pas être plus précis, je ne sais pas comment expliquer plus le problème. Ce qui m'énerve c'est que c'est complètement aléatoire (depuis mon 1er message je n'arrive plus à le reproduire) et que c'est apparut soudainement.

Discussions similaires

  1. Réponses: 2
    Dernier message: 22/03/2013, 15h58
  2. Programme perso dans barre notification
    Par dmganges dans le forum Windows
    Réponses: 4
    Dernier message: 06/10/2011, 09h29
  3. Maj dans la notification mais pas dans Windows update
    Par vinc-mai dans le forum Sécurité
    Réponses: 0
    Dernier message: 10/12/2009, 03h49
  4. [PowerShell] Afficher variable dans bulle notification
    Par metatron dans le forum Scripts/Batch
    Réponses: 4
    Dernier message: 24/04/2008, 11h53
  5. Réponses: 2
    Dernier message: 24/09/2007, 15h46

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