SnOOpss
Messages postés571Date d'inscriptionsamedi 3 avril 2004StatutMembreDernière intervention 5 décembre 2013 22 oct. 2006 à 13:15
Sans static ca ne peux pas marcher, vu que par exemple a un moment tu recoit le message WM_COMMAND tu definis xmax, la procedure se termine, xmax est detruite et au prochain message WM_PAINT xmax vaut 0.
C'est quoi ton message d'erreur si tu met les statics ?
Sinon initialise tes variables a l'exterieur de ta procedure.
Cyr62110
Messages postés65Date d'inscriptionvendredi 10 février 2006StatutMembreDernière intervention21 octobre 2009 22 oct. 2006 à 13:25
J'ai deja essayer d'initialiser à l'exterrieur de la procedure et en mettant des statics mais le programme n'as pas de probleme de compilation ais au demarage il plante.
SnOOpss
Messages postés571Date d'inscriptionsamedi 3 avril 2004StatutMembreDernière intervention 5 décembre 2013 22 oct. 2006 à 13:25
Pareil pour
HPEN absord = (HPEN) CreatePen (PS_SOLID,2,RGB(0,0,0));
il te faut le definir 1 SEULE fois au debut du fichier par exmple car a chaque appel a ta procedure tu recréé un HPEN et jamais tu ne le detruit >> fuite memoire.
SnOOpss
Messages postés571Date d'inscriptionsamedi 3 avril 2004StatutMembreDernière intervention 5 décembre 2013 22 oct. 2006 à 13:29
Tu le teste bien en mode debug ? Met un point d'arret au debut au pire mais maintenant que j y pense le plantage peut venir de la fuite memoire.
Donne nous le message d'erreur
sinon deja >> refx (secondx - firstx) / xmax; vu ke xmax 0 division par zero > plantage
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_aardman
Messages postés1905Date d'inscriptionmercredi 22 janvier 2003StatutMembreDernière intervention17 septembre 20123 22 oct. 2006 à 13:36
Salut,
Y'a un gros probleme déja, au début de ta WndProc tu crée 2 pens que tu
ne détruis pas, ca fait un (gros) memory leak. La WndProc est appelée
très très souvent, et tu peux etre sur qu'au bout d'un moment ton
programme plantera, a cause de la limite de nombre gdi que l'on peut
créer.
Ombitious_Developper
Messages postés2333Date d'inscriptionsamedi 28 février 2004StatutMembreDernière intervention26 juillet 201338 22 oct. 2006 à 14:00
Cyr62110
Messages postés65Date d'inscriptionvendredi 10 février 2006StatutMembreDernière intervention21 octobre 2009 22 oct. 2006 à 14:06
Merci, vous m'avez permi de trouver la reponse.
static int dist;
static int xmin,xmax;
et il fallait rajouter
WM_CREATE :
CreateFirst (hwnd);
CreateSecond (hwnd);
CreateThird(hwnd);
CreateFourth(hwnd);
xmin = 0;
xmax = 10;
dist = 1;
break;
et surtout vous m'avez montré l'une des perte de memoire dont je ne trouver pas la cause.