Je rencontre des fuites de mémoire lors de l'exécution du code GDI suivant:fuite GDI problème
HDC hdcScreen = GetDC(NULL);
HDC hdcMem = CreateCompatibleDC(hdcScreen);
HBITMAP hbmpOld = (HBITMAP) SelectObject(hdcMem, hBmp); // apparently here is the leak
// do something
SelectObject(hdcMem, hbmpOld); //placing the old object back. The return object is handled elseware
DeleteDC(hdcMem); // after CreateCompatibleDC
ReleaseDC(NULL, hdcScreen); // after GetDC
je l'ai déjà regardé des fils similaires, tels que this mais je ne pouvais pas trouver le problème. Toute aide serait appréciée.
La valeur de retour DeleteDC, ReleaseDC a été vérifiée comme étant vraie (aucune erreur).
Merci, Tal.
Qu'est-ce qui vous fait penser qu'il y a une fuite de GDI? Taskmanager a une colonne qui indique le nombre de handles GDI alloués par un processus. Est-ce que le compte augmente si ce code est exécuté dans une boucle? –
Où supprimez-vous 'hBmp'? –
Ce code ne fuit pas, il est ailleurs. –