Bonjour,

J'ai un pb avec codeguard :

1/ je cr�� une application DLL avec l'expert DLL vierge (il y a juste la fonction DllEntryPoint) que je compile avec l'option codeguard

2/ je cr�� une application standard avec 2 boutons : btnLoad et btnUnload
code de btnLoadClick:
Code : S�lectionner tout - Visualiser dans une fen�tre � part
hInstance = LoadLibrary("chemin_de_ma_dll_créée_en_1");
code de btnUnloadClick :
3/ ensuite j'execute mon application standard :
- je clique sur le bouton Load -> OK : hInstance est non null
- je clique sur le bouton Unload -> OK : FreeLibrary retourne non null
- je quitte l'application -> codeguard me d�tecte une erreur :

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
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
Erreur 00001. 0x300010 (Thread 0x051C):
Perte de ressource : bloc mémoire (0x1055DC0) jamais libéré
 
bloc mémoire (0x01055DC0) [taille : 200 octets] a été alloué avec SysGetMem
Arbre d'appels :
   0x0126850C
   0x01268565
   0x0126A808
   0x0126A069
   0x0CD0A513(=CG32.DLL:0x01:009513)
   0x012615DF
 
------------------------------------------
Fonctions eppelées :
 fflush (1 fois)
 delete (46 fois)
 vsnprintf (4 fois)
 lstrlenA (1 fois)
 lstrcpyA (4 fois)
 SysReallocMem (2 fois)
 SysFreeMem (527 fois)
 SysGetMem (528 fois)
 realloc (1 fois)
 memcpy (2 fois)
 delete[] (2 fois)
 free (27 fois)
 new[] (14 fois)
 new (51 fois)
 calloc (5 fois)
 malloc (21 fois)
Types de ressources utilisés :
 tableau d'objets (14 allocs, 13 max)
 objet (51 allocs, 39 max)
 bloc mémoire (555 allocs, 340 max)
Avez-vous une explication ?
Quand je compile sans codeguard, je n'ai plus l'erreur :
- Soit il y a effectivement un pb et seul codeguard le voit
- Soit il n'y a pas de pb et c'est codeguard qui bug

Dans ce dernier cas, pour poursuivre mon d�veloppement, je serais contrait de d�sactiver codeguard, ce qui m'ennuit car c'est bien pratique comme outils...

Mercin pour votre aide,

PurL.