jarrive pas a bien freer une fonction

jarrive pas a bien freer une fonction - Programmation

Marsh Posté le 14-11-2001 à 15:07:14    

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]

Reply

Marsh Posté le 14-11-2001 à 15:07:14   

Reply

Marsh Posté le 14-11-2001 à 15:09:10    

gonfle legrement mais continuellement  ???
 
le fait de faire un while(1) doit legerement l'emmerder quand meme ..

Reply

Marsh Posté le 14-11-2001 à 15:10:20    

la viper a écrit a écrit :

gonfle legrement mais continuellement  ???
 
le fait de faire un while(1) doit legerement l'emmerder quand meme ..  




 
en fait en reel c'est dans un WM_TIMER mais bon ca reviens au meme q'un while(1)
kan je fait des Bprintf ca gonfle continuellement :(
quand jen fait pas c'est stable  
et comme jen fait beaucoup ca gonfle assez vite kan meme   :(
 
alors jen ais deduit ke ma fonction bprintf nettais pas bien free

 

[edtdd]--Message édité par koulip31--[/edtdd]

Reply

Marsh Posté le 14-11-2001 à 16:14:24    

:bounce:  :( :sweat: :cry:

Reply

Marsh Posté le 14-11-2001 à 20:27:23    

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)

Reply

Marsh Posté le 15-11-2001 à 09:49:16    

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

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed