|
Sujet : jarrive pas a bien freer une fonction |
| koulip31 |
Fork a écrit a écrit :
Supprime les "free" :
free(str); :gun: free(fmt); :gun: Les chaines que tu utilises ne sont pas allouées dynamiquement, donc le free crée des comportements incohérents.
(str=tableau statique, fmt=chaine de caractère statique)
|
je viens de les degager mais no changement ca gonfle |
| koulip31 |
voila ...
while(1)
{
Bprintf(hDlg,0,T_5,"toto" );
Bprintf(hDlg,0,T_7,"%d %s",1234,"toto" ); }
....
int Bprintf (HWND hDlg, int nl, int menu, char *fmt, ...)
{
va_list argptr; char str[1000]; int cnt; HWND hwnd;
va_start (argptr, fmt); cnt = vsprintf (str, fmt, argptr); hwnd = GetDlgItem (hDlg, (menu+nl)); SendMessage (hwnd, EM_SETSEL, 0, 0xFFFFFFFFL); SendMessage (hwnd, EM_REPLACESEL, 0, (LONG)&str); va_end (argptr);
free(str); free(fmt);
return (cnt); }
je lance mon prog et il gonfle legrement mais continuellement quand je retire ces Bprintf nikel ca gonfle pas
bon vous me dirrez c'est po grove mais bon dans mon api jappele cette fonction env 300 x par seconde donc ca gonfle assez rapidement :( [edtdd]--Message édité par koulip31--[/edtdd] |