etaxi
Messages postés24Date d'inscriptionvendredi 3 mars 2006StatutMembreDernière intervention24 mars 2008 6 sept. 2007 à 09:34
D'accord, et comment recompiler en release?
Merci
etaxi.
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 20 août 2007 à 19:38
mfc42d.dll fait partie des outils de dev de VC++, ne doit pas être distribué.
Recompile en RELEASE et tu n'y seras plus lié.
etaxi
Messages postés24Date d'inscriptionvendredi 3 mars 2006StatutMembreDernière intervention24 mars 2008 20 août 2007 à 19:18
Ou est la dll mdc42d.dll ?
elle n'y est pas dans le zip!
ymca2003
Messages postés2070Date d'inscriptionmardi 22 avril 2003StatutMembreDernière intervention 3 juillet 20067 17 févr. 2004 à 18:51
Un petit ajout en ce qui concerne la fuite de ressource :
le problème ne vient pas du fait qu'il faut appeler DeleteObject (les MFC s'en charge), mais du fait que le l'objet à détruire se trouve toujours sélectionné dans un DC.
en fait à la sortie de la fonction il faut remettre dans le DC les objets qui y étaient au départ (pinceaux, crayont, polices...)
nico_inf
Messages postés3Date d'inscriptionjeudi 12 février 2004StatutMembreDernière intervention17 février 2004 17 févr. 2004 à 14:30
Maintenant on peu la compiler j'avais oublier de mettre les RES...
nico_inf
Messages postés3Date d'inscriptionjeudi 12 février 2004StatutMembreDernière intervention17 février 2004 17 févr. 2004 à 14:25
j'ai fai la mise a jour et j'ai bien constaté ce que tu me disais c'est cool pour l'info parce que dans mon bouquin ils en parlent pas une seconde .... comme quoi ....
THX ++
Hellaynnea
Messages postés57Date d'inscriptionsamedi 14 décembre 2002StatutMembreDernière intervention 2 mai 2005 17 févr. 2004 à 12:36
J'ai regardé ton code, mm si j'ai pas réussi a le compiler (un problème avec les ressources), il est pas mal
Bon j'aime pas les mfc mais bon c'est mon choix :)
sinon tu aurais pu limiter la zone de dessin (en utilisant une region par exemple) parce que la on peut dessiner sur la barre d'outil
++
Hellaynnea
Messages postés57Date d'inscriptionsamedi 14 décembre 2002StatutMembreDernière intervention 2 mai 2005 17 févr. 2004 à 12:28
Slt, c pas grave :d
Pour les fuites de mémoire un exemple tout simple :
void fonction(void)
{
char * buf = new char[2000];
return;
}
voila a chaque fois que tu executeras fonction(); tu perd 2Ko en mémoire ca c'est une fuite. Concernant les selectobject, etc... je sais pas trop comment windows gère ca, il faut simplement lorsque tu crée un object faire un DeleteObject derrière equivalent de notre delete [] buf pour notre exemple, sinon il reste en mémoire et a chaque fois qu'on appelle la fonction de dessin (genre 20 fois par seconde) on perd 2 octets (ou la taille de ton object, je sais plus si c'est exactement ca)
++
nico_inf
Messages postés3Date d'inscriptionjeudi 12 février 2004StatutMembreDernière intervention17 février 2004 17 févr. 2004 à 11:04
Désolé, on va dire que je suis nouveau et que je ne fai que déposer ce que l'on ma appris (appris tout seul dans les bouquins... :( ), je fai de mon mieux pour participer même si il n'y a pas bcp d'interet dans cette source.
par contre je veu bien que l'on m'explique ce que c'st les fuites de memoires comme sa je referai pas 2 fois l'erreur et je corrigerai ma source , parce que corriger ss savoir ..... c'est frustrant !!
et "Hellaynnea" sorry pour la faute .... :D
Meci et @+
Hellaynnea
Messages postés57Date d'inscriptionsamedi 14 décembre 2002StatutMembreDernière intervention 2 mai 2005 16 févr. 2004 à 12:06
Salut pour info c'est Device Context et pas "divise context" c'est juste parce que ca me faisait mal aux yeux
++
P.S. c'est totalement vrai pour les fuites de mémoires dues aux select objects jme suis déja fait avoir et pour retrouver une memory leak c'est souvent bien dur
ymca2003
Messages postés2070Date d'inscriptionmardi 22 avril 2003StatutMembreDernière intervention 3 juillet 20067 13 févr. 2004 à 18:53
un petit truc : il faut éviter de laisser des objets dans le GDI car cela provoque une fuite de ressources (sous Windows 9x et ME principalement, Windows 200 et XP étant moins restrictifs))
6 sept. 2007 à 09:34
Merci
etaxi.
20 août 2007 à 19:38
Recompile en RELEASE et tu n'y seras plus lié.
20 août 2007 à 19:18
elle n'y est pas dans le zip!
17 févr. 2004 à 18:51
le problème ne vient pas du fait qu'il faut appeler DeleteObject (les MFC s'en charge), mais du fait que le l'objet à détruire se trouve toujours sélectionné dans un DC.
en fait à la sortie de la fonction il faut remettre dans le DC les objets qui y étaient au départ (pinceaux, crayont, polices...)
17 févr. 2004 à 14:30
17 févr. 2004 à 14:25
THX ++
17 févr. 2004 à 12:36
Bon j'aime pas les mfc mais bon c'est mon choix :)
sinon tu aurais pu limiter la zone de dessin (en utilisant une region par exemple) parce que la on peut dessiner sur la barre d'outil
++
17 févr. 2004 à 12:28
Pour les fuites de mémoire un exemple tout simple :
void fonction(void)
{
char * buf = new char[2000];
return;
}
voila a chaque fois que tu executeras fonction(); tu perd 2Ko en mémoire ca c'est une fuite. Concernant les selectobject, etc... je sais pas trop comment windows gère ca, il faut simplement lorsque tu crée un object faire un DeleteObject derrière equivalent de notre delete [] buf pour notre exemple, sinon il reste en mémoire et a chaque fois qu'on appelle la fonction de dessin (genre 20 fois par seconde) on perd 2 octets (ou la taille de ton object, je sais plus si c'est exactement ca)
++
17 févr. 2004 à 11:04
par contre je veu bien que l'on m'explique ce que c'st les fuites de memoires comme sa je referai pas 2 fois l'erreur et je corrigerai ma source , parce que corriger ss savoir ..... c'est frustrant !!
et "Hellaynnea" sorry pour la faute .... :D
Meci et @+
16 févr. 2004 à 12:06
++
P.S. c'est totalement vrai pour les fuites de mémoires dues aux select objects jme suis déja fait avoir et pour retrouver une memory leak c'est souvent bien dur
13 févr. 2004 à 18:53
CPen* pOldPen = dc.SelectObject(&pinceau);
...utilisation de dc...
dc.SelectObject(pOldPen);