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

EDI Delphi Discussion :

Exception externe C0000008


Sujet :

EDI Delphi

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2002
    Messages : 14
    Points : 11
    Points
    11
    Par défaut Exception externe C0000008
    Salut à tous... Voici mon problème :

    Je lance mon soft sur mon PC, à un moment donné (pas pû trouver l'endroit exact avec le debugger) : "Exception externe C0000008"
    Je lance mon soft sans que Delphi soit ouvert : idem
    Je lance mon soft sur d'autres PCs : pas de problème...

    J'utilise comme composants "exotiques" : midas (avec SocketConnection) mais qui a toujours bien fonctionné. Pas de patch Delphi ou d'autres composants
    Delphi installés depuis des mois. Je pourrais soupçonner les mises à jour
    de Windows, mais en passant en revue les KB de Microsoft associées aux
    derniers updates, rien ne laisse supposer cela...

    Aucun problème au niveau du pare-feu Windows (XP Pro SP2)
    Aucun problème sur d'autres PC avec la même config

    A part une réinstallation de mon PC, quelqu'un aurait une idée valable ou
    encore mieux, une explication de la cause ?

    Help !!!!!!!!

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2002
    Messages : 14
    Points : 11
    Points
    11
    Par défaut
    Je rajoute que je n'utilise pas Oracle (car j'ai trouvé plein d'explications sur le problème, mais uniquement avec les SQL links Oracle). Je n'utilise pas le BDE non plus.

  3. #3
    Membre chevronné
    Avatar de Pierre Castelain
    Inscrit en
    Avril 2002
    Messages
    523
    Détails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 523
    Points : 1 943
    Points
    1 943
    Par défaut
    Bizarre ton erreur...
    Ca me rappelle un problème que j'ai eu il y a longtemps avec un driver d'imprimante. Tu as une fonction d'impression dans ton soft ? Un driver HP ?

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2002
    Messages : 14
    Points : 11
    Points
    11
    Par défaut
    Oui, j'ai des fonctions d'impression et un pilote HP, mais ce pilote n'a pas changé depuis longtemps... Je penche vers un problème système plutôt qu'un problème de code... Le problème est que je ne parviens pas à savoir quelle DLL Windows est responsable de cette "Exception externe"...

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2002
    Messages : 14
    Points : 11
    Points
    11
    Par défaut
    Voilà, j'en sais un peu plus... A chaque fois que l'erreur se produit, le
    dernier appel fait par un de mes module est le suivant :

    SConnect.pas TStreamConnection InternalClose Ligne 1692

    Cette ligne correspond à ceci :
    WaitForSingleObject(FTransport.Handle, 500);
    avec
    if Assigned(FTransport.FTransport) then // à la ligne juste avant

    Voici toute la méthode :
    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
     
    procedure TStreamedConnection.InternalClose;
    begin
      if Assigned(FTransport) then
      begin
        FTransport.OnTerminate := nil;
        FTransport.Terminate;
        PostThreadMessage(FTransport.ThreadID, WM_USER, 0, 0);
        if Assigned(FTransport.FTransport) then
          WaitForSingleObject(FTransport.Handle, 500);
        FTransport := nil;
      end else
      if Assigned(FTransIntf) then
      begin
        FTransIntf.Connected := False;
        FTransIntf := nil;
      end;
    end;
    Nous pouvons également voir un poil plus haut dans la pile d'appel :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    |7C91EB6F|ntdll.dll   |                     | 
    |KiRaiseUserExceptionDispatcher|     |
    |03F7682C|StockIn.dll |SConnect.pas         |TDataDispatch        |Destroy 
    |1465 |
    Code du destroy de TDataDispatch :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
      if Assigned(FInterpreter) then
      begin
        FInterpreter.CallFreeObject(FDispatchIndex);
        FInterpreter.RemoveDispatch(Self);
      end;
      inherited Destroy;        // ligne 1465
     
      TDataDispatch = class(TInterfacedObject, IDispatch)
      TInterfacedObject = class(TObject, IInterface)
    Dans TInterfacesObject, pas de destroy de défini (donc, héritant de
    TObject, donc rien...)

    Je ne comprends plus rien !
    J'ai également resetté tous mes paramètres TCP/IP, mais rien ne change.

  6. #6
    Membre du Club
    Inscrit en
    Septembre 2008
    Messages
    115
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 115
    Points : 60
    Points
    60
    Par défaut
    Je continue le post après quelques années.
    Voila, j'ai le même problème:

    "Exception externe C0000008"

    Cela se déclenche quand je veux faire une impression.
    Plus précisément avec FastReport.

    Mais voila lorsque je reprend un programme que j'avais fait et qui marchait à l'époque, j'ai la même erreur.

    Donc peut-être s'agit-il d'une erreur venant de Windows ???

  7. #7
    Membre à l'essai
    Inscrit en
    Juillet 2002
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 9
    Points : 10
    Points
    10
    Par défaut Plusieurs année plus tard ...
    J'ai rencontré le même problème, en cherchant je suis tombé sur ce post et comme il n'y avait pas de solution j'ai continué de chercher ... Et finalement j'ai trouvé.
    "exception externe C0000008" correspond à une erreur de Handle.
    Si je lance le programme sans passer par le débogueur de delphi je n'ai pas l'erreur : j'ai donc regardé du coté des options du débogueur de delphi.

    Donc dans delphi, menu "Outils", "Options du débogueur", onglet "Exception du S.E.", dans la liste sélectionner "Handle incorrecte($C0000008)" et dans le groupe "Gérées par " j'ai sélectionné "Programme utilisateur" et dans le groupe "A la reprise" j'ai sélectionné "Gérées".
    Et du coup ça marche pour moi ... si ca peut aider quelqu'un.

Discussions similaires

  1. exception externe C0000006 2008 TSE
    Par Petogaz dans le forum Windows Serveur
    Réponses: 5
    Dernier message: 07/07/2012, 13h49
  2. [Lazarus] GetCurrentDir : exception External SIGSEGV
    Par JP.NUAGE dans le forum Lazarus
    Réponses: 2
    Dernier message: 07/06/2009, 07h59
  3. Problème impression: Exception externe C0000008
    Par Vilukariok dans le forum Composants VCL
    Réponses: 0
    Dernier message: 06/05/2009, 12h15
  4. Exception externe C0000029
    Par Altau dans le forum C++Builder
    Réponses: 5
    Dernier message: 16/10/2007, 22h35
  5. Exception externe et dll
    Par CédricS dans le forum Delphi
    Réponses: 1
    Dernier message: 21/03/2007, 12h50

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