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

XMLRAD Discussion :

Exception: Operation de pointer incorrect à l'arret de IIS


Sujet :

XMLRAD

  1. #1
    Membre actif Avatar de Jeweller
    Inscrit en
    Août 2003
    Messages
    357
    Détails du profil
    Informations forums :
    Inscription : Août 2003
    Messages : 357
    Points : 278
    Points
    278
    Par défaut Exception: Operation de pointer incorrect à l'arret de IIS
    Bonjour,
    J'ai un message d'erreur assez violent lors de l'arret de IIS (et donc de mon appli XMLRAD (2005R2, mode pluggin): "La mémoire ne pas pas etre read", puis "runtime error", etc...

    En débugant je tombe sur une opération de pointeur incorrect dans le TXMLApplication.Destroy (ligne 1865, XMLApp.pas), lors du DoDestroy sur un AppEvent.

    Je ne sais pas pourquoi, ni comment corriger cela. Avez vous des infos ou des pistes à me donner pour m'aider à trouver mon problème ?

    Michael

  2. #2
    RDM
    RDM est déconnecté
    Membre émérite

    Profil pro
    Inscrit en
    Mars 2002
    Messages
    1 424
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 424
    Points : 2 927
    Points
    2 927
    Par défaut
    La descente d'une DLL ISAPI est toujours complexe. d'autant plus si tu es en mode plugin et avec des XMLApplicationEvents . il peut y avoir des tonnes de choses qui peuvent ne pas aller.

    on va procéder par étape:
    1/ as-tu réellement un composant XMLApplicationEvents posé sur un des XMLModules ?
    2/ Si oui, y-t-il un evenement OnDestroy d'implémenter ?
    3/ Si oui, est-ce que le problème est toujours là quand tu désactives l'evenement OnDestroy ?
    4/ si oui, quel est le code de cet événement ?

  3. #3
    Membre actif Avatar de Jeweller
    Inscrit en
    Août 2003
    Messages
    357
    Détails du profil
    Informations forums :
    Inscription : Août 2003
    Messages : 357
    Points : 278
    Points
    278
    Par défaut
    Oui, j'ai bien un XMLApplicationEvents (le FXMLApplicationEventsList.Count est bien à 1), mais avec aucune méthode définie pour l'évènement OnDestroy. Si j'en défini une (qui ne fait rien) je passe dedans sans erreur et c'est en sortant que l'exception se déclanche! F7 ne me permet pas d'aller plus loin!
    Je n'arrive pas à savoir ce qui se passe!

  4. #4
    RDM
    RDM est déconnecté
    Membre émérite

    Profil pro
    Inscrit en
    Mars 2002
    Messages
    1 424
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 424
    Points : 2 927
    Points
    2 927
    Par défaut
    yep je le reproduis. c'est un bug très vicieux. problème de compteur de référence de XMLApplication au sein même de son destructor !
    pour contourner le problème tu as 2 solutions:
    1/ si tu ne veux pas / n'a pas besoin d'implémenter un OnDestroy ET que tu es seulement en application Win32 tu peux faire le fix suivant dans le DoDestroy:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    for I := 0 to FXMLApplicationEventsList.Count-1 do
    begin
      XMLAppEvents := FXMLApplicationEventsList.Objects[I] as TCustomXMLApplicationEvents;
      if Assigned(XMLApplicationEvents(XMLAppEvents).OnDestroy) then
        XMLAppEvents.DoDestroy(Self, OnDestroyEventArgs);
    end;
    2/ autrement il faut incrémenter le compteur de référence de Self:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    for I := 0 to FXMLApplicationEventsList.Count-1 do
    begin
      XMLAppEvents := FXMLApplicationEventsList.Objects[I] as TCustomXMLApplicationEvents;
      Seld._AddRef;
      XMLAppEvents.DoDestroy(Self, OnDestroyEventArgs);
    end;
    Malheureusement pour un fix officiel faudra attendre la 2006

  5. #5
    Membre actif Avatar de Jeweller
    Inscrit en
    Août 2003
    Messages
    357
    Détails du profil
    Informations forums :
    Inscription : Août 2003
    Messages : 357
    Points : 278
    Points
    278
    Par défaut
    Ok, Super!

    J'ai opté pour le 2ieme fix, et cela fonctionne!
    Merci!

    Michael

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Query.open -> Operation de pointeur incorrecte
    Par fredfred dans le forum Langage
    Réponses: 4
    Dernier message: 13/09/2013, 12h11
  2. Operation virgule flottante incorrecte.
    Par petitcoucou31 dans le forum Langage
    Réponses: 4
    Dernier message: 31/10/2011, 13h50
  3. XML operation de pointer incorrect
    Par ouiouioui dans le forum Débuter
    Réponses: 7
    Dernier message: 10/08/2011, 23h25
  4. POO - Operation de pointeur incorrect sur Free
    Par Diablo64 dans le forum Langage
    Réponses: 9
    Dernier message: 17/03/2009, 13h46
  5. Réponses: 2
    Dernier message: 03/08/2005, 00h39

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