Bonjour,
je passe codeguard sur mon appli et j'ai une erreur que j'ai du mal à comprendre.
Mon appli est constituée d'une dll et d'un exe.
Ma dll exporte la fonction suivante :
TEventData est une classe à moi.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 vector<TEventData> __stdcall mLgetFaults()
La partie exe récupère le vector, tout se passe bien à l’exécution, mais si je compile avec codeguard, il me signale une erreur sur le destructeur de TEventData (qui ne fait rien vu que cette classe ne contient que de types simples) :
à cette ligne j'ai le code suivant :Bad parameter in process: MonAppli.exe(6480) - c:\program files\embarcadero\rad studio\8.0\include\dinkumware\xmemory#129
A bad object (0x34F79E0) has been passed to the function.
0x006909BC Call to delete(0x03507A80)
...................
0x0040B38B - src\GenericData\EventData.h#45
.............................
Il passe donc 2 fois dans le destructeur ce qui me parait normal en fait (une fois pour la création des TEventData dans l'exe, une fois pour la création dans la dll), mais ça ne doit pas être le cas puisque codeguard me sort une erreur...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 ~TEventData() { };
J'avoue que je ne comprends pas trop...
merci d'avance pour vos suggestions d'explication
Pascale38
Partager