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 :

message d'erreur à la fermeture


Sujet :

Delphi

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    146
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 146
    Points : 106
    Points
    106
    Par défaut message d'erreur à la fermeture
    Bonjour,

    j'ai une application qui provoque ce message :

    "****.exe a généré des erreurs et sera fermé par windows. vous devrez redémarrer le programme."

    hors je n'ai aucun autre message qui pourrais me mettre sur une piste, ce message apparait quelques fois à la fermeture.

    Auriez-vous une idée de ce qui pourrais provoquer ce message ?

    merci par avance

  2. #2
    Membre chevronné
    Avatar de Clorish
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 474
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 474
    Points : 2 158
    Points
    2 158
    Par défaut
    quel genre d'application fait tu ?
    Chargement DLL, ActiveX, Base de données, Ole, ... ?

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    146
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 146
    Points : 106
    Points
    106
    Par défaut message d'erreur à la fermeture
    BD SQL server 2000.

    application sous Delphi 7.

  4. #4
    Membre chevronné
    Avatar de Clorish
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 474
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 474
    Points : 2 158
    Points
    2 158
    Par défaut
    verifie que toutes les connections a la base dedonnée soient bien close avant la fermeture du programme.
    De meme, les transactions doivent etre terminées et validees je suppose.

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    146
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 146
    Points : 106
    Points
    106
    Par défaut
    Les connections à la base sont bien close maintenant, j'ai rajouté le code sur les DataSources.

    Et sur cette interface, il n'y a aucune validation, je fais que de l'affichage.

    Malgré cela j'ai toujours le message d'erreur .

  6. #6
    Membre chevronné
    Avatar de Clorish
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 474
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 474
    Points : 2 158
    Points
    2 158
    Par défaut
    Alors la je ne sais pas

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    146
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 146
    Points : 106
    Points
    106
    Par défaut
    merci quand même de ton aide, je vais continuer mes recherches....

  8. #8
    Membre habitué
    Inscrit en
    Octobre 2006
    Messages
    124
    Détails du profil
    Informations personnelles :
    Âge : 73

    Informations forums :
    Inscription : Octobre 2006
    Messages : 124
    Points : 126
    Points
    126
    Par défaut
    Bonjour,
    as tu essayé eurekalog ?
    Je ne suis pas certain que cet ad on s'applique à ton cas mais c'est à essayer.

    Bonne journée
    MS

  9. #9
    Rédacteur

    Profil pro
    Inscrit en
    Avril 2007
    Messages
    182
    Détails du profil
    Informations personnelles :
    Âge : 57
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2007
    Messages : 182
    Points : 1 853
    Points
    1 853
    Par défaut
    tu pourrais peut-être utiliser procmon http://www.microsoft.com/technet/sys...ssmonitor.mspx pour surveiller ton programme en temps réel, et regarder au moment ou ca plante si procmon n'indique pas des codes d'erreurs particuliers (accès registres, fichiers...)

    Sinon, les problèmes à la fermeture peuvent venir d'erreurs de libération d'objets (ex si on appelle Free deux fois sur le même objet, ou bien si on utilise un objet après l'avoir déjà libéré). Si le problème est assez reproductible, une méthode est de commenter certaines parties du code jusqu'à isoler la zone fautive.

    Bruno

  10. #10
    Membre chevronné
    Avatar de Clorish
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 474
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 474
    Points : 2 158
    Points
    2 158
    Par défaut
    Citation Envoyé par Bruno Orsier
    (ex si on appelle Free deux fois sur le même objet [...] )
    Simple precision : LE principe de free est justement (contrairement a destroy) de tester si l'instance a liberer est valide ou non.
    De ce fait si le mode de liberation de l'objet est respecté, un appel a free sur un objet libere n'entraine pas d'erreur

  11. #11
    Rédacteur

    Profil pro
    Inscrit en
    Avril 2007
    Messages
    182
    Détails du profil
    Informations personnelles :
    Âge : 57
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2007
    Messages : 182
    Points : 1 853
    Points
    1 853
    Par défaut
    Citation Envoyé par Clorish
    Simple precision : LE principe de free est justement (contrairement a destroy) de tester si l'instance a liberer est valide ou non.
    De ce fait si le mode de liberation de l'objet est respecté, un appel a free sur un objet libere n'entraine pas d'erreur
    non, Free vérifie seulement si le pointeur n'est pas nil, et appelle Destroy, sinon ne fait rien.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    procedure TObject.Free;
    begin
      if Self <> nil then
        Destroy;
    end;
    Free ne met donc pas le pointeur à nil, c'est pour ca que FreeAndNil a été introduit d'ailleurs.

    Le code ci-dessous plante avec EInvalidPointerOperation
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
      x := TStringList.Create ;
      x.Free ;
      x.Free ;
    Bruno

Discussions similaires

  1. message d'erreur fermeture du formulaire
    Par atom41 dans le forum VBA Access
    Réponses: 11
    Dernier message: 05/01/2018, 14h23
  2. Message d'erreur à la fermeture d'une fenêtre
    Par Pascal Lob dans le forum VB.NET
    Réponses: 5
    Dernier message: 16/11/2011, 11h20
  3. Message d'erreur à la fermeture de la base
    Par theuma dans le forum Runtime
    Réponses: 4
    Dernier message: 16/06/2011, 08h21
  4. Message d'erreur à la fermeture d'une page web
    Par WELCOMSMAIL dans le forum Autres Logiciels
    Réponses: 2
    Dernier message: 26/04/2006, 17h12

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