Witam
Piszę w Winapi program zamieniający spalanie w litrach na 100km na galony/mila. Miałem problem z funkcją SetWindowText do wyświetlenia wyniku jako STATIC. Przy pierwszym kliknięciu przycisku wynik się wyświetlał prawidłowo, natomiast przy drugiej próbie wynik dopisywał się do poprzedniej wartości. Problem zniknął gdy użyłem wskaźnika na obiekt klasy std::ostringstream (nie przypisując mu żadnego adresu). Czy wie ktoś może dlaczego to działa ? Jeżeli w parametrze funkcji SetWindowText będzie obiekt, a nie wskaźnik to program dalej będzie dopisywał wartość jedną do drugiej. Oto kod:
DWORD dlugosc = GetWindowTextLength( Formularz );
LPSTR Bufor =( LPSTR ) GlobalAlloc( GPTR, dlugosc + 1 );
GetWindowText( Formularz, Bufor, dlugosc + 1 );
FLOAT a;
std::ostringstream * ptr = new std::ostringstream;
a = atof(Bufor);
a = litryNaGalony(a);
*ptr << a;
SetWindowText(wynik,ptr->str().c_str());
GlobalFree(Bufor);
delete ptr;