cs_snoogie
Messages postés2Date d'inscriptionvendredi 19 décembre 2003StatutMembreDernière intervention 4 octobre 2004
-
4 oct. 2004 à 18:08
ymca2003
Messages postés2070Date d'inscriptionmardi 22 avril 2003StatutMembreDernière intervention 3 juillet 2006
-
4 oct. 2004 à 21:02
J'ai deja posté ce message dans le forum API mais il irait beaucoup mieux ici vu que je m'arrache les cheuveux a cause de ce bug :D
J'aimerais avant d'être chauve trouver une solution !!
Donc je suis en train de developer une application qui fournie des informations systeme (ram dispo, espace et type des disques ...)
Et j'ai un problème que j'ai deja rencontré avec un jeu de yams pour windows
Tous les deux sont codés avec les API windows (pas de MFC)
J'utilse dans le traitement de WM_PAINT des procedure qui retrace beaucoup de chose a chaque fois
Et après une certains nombre de rafraichissement certain composants graphique bugs
Je pense avoir du oublier qque chose mais je vois pas quoi
j'utilise de HBRUSH, HPEN
Je cherche une ame charitable pour m'aider a debugger l'un ou l'autre (j'ai d'autre app ayant le meme bug)
Merci de m'envoyer un mail si vous avez 5 minutes pour y jeter un coup d'oeil (snoogie@free.fr)
Merci
Sinon merci de m'indiquer ce que je dois approfondir pour que vous m'aidiez a resoudre mon problème !!
Merci encore pour votre aide
Snoogie
vecchio56
Messages postés6535Date d'inscriptionlundi 16 décembre 2002StatutMembreDernière intervention22 août 201014 4 oct. 2004 à 18:41
La prochaine fois mets GDI a la place de CGI...
Vérifie que tu ne crée pas tes brush et autres pen à chaque passage WM_PAINT. Et n'oublie pas que quand tu fais un SelectObject, cette fonction te renvoie l'ancien objet séléctionné
cs_snoogie
Messages postés2Date d'inscriptionvendredi 19 décembre 2003StatutMembreDernière intervention 4 octobre 2004 4 oct. 2004 à 20:05
Merci pour le GDI :D
Pour la création de pen et de hbrush le probleme est que je créé mon hbrush en fonction de certaine condition mais oui en effet j'en créé un a chaque wm_paint
Je croyais le détruire à chaque fois mais a priori cela ne suffit pas
Je penses que je vais essayer d'en créer un une bonne fois pour toute et essayer de modifier sa couleur (Je penses surtout au HBRUSH) en fonction des besoins !
Merci beaucoup pour le coup de main
Je vais tester et je te tiens au courant
Je te remercie en tout cas beaucoup pour ton aide
ymca2003
Messages postés2070Date d'inscriptionmardi 22 avril 2003StatutMembreDernière intervention 3 juillet 20067 4 oct. 2004 à 21:02
marche à suivre pour ne pas avoir de GDI leak :
- création HPEN et HBRUSH
- sélection dans DC et sauvegarde des objets initiaux du DC(valeur retournée par SelectObject).
- dessin.
- sélectionner les objets initiaux dans le DC.
- supprimer les objets créés.
Selon les versions, Windows a plus ou moins de tolérence sur les objets laissés dans les DC donc bugs par forcément faciles à traquer.