"Umieszczanie plików tekstowych w zasobach programu"
W kodzie aż dwa razy tworzymy obiekt po przez new :
- Kod: Zaznacz cały
std::auto_ptr<TMemoryStream>stream(new TMemoryStream);
//oraz
TMemoryStream *Ms = new TMemoryStream;
// I samo wywołanie:
Memo1->Lines->LoadFromStream(LoadTxtFromResource(ID_TXT1));
Ale nigdzie w kodzie nie mamy wywołania delete dla utworzonego w ten sposób obiektu. Nie powoduje to błędu związanego z "wyciekiem pamięci " ?
----
W książęce C++ Builder 2006 podobny przykład gdzie wywołanie był mniej więcej tak kodowany:
- Kod: Zaznacz cały
TMemoryStream *Mstr = LoadTxtFromResource(ID_TXT1);
Memo2->Lines->LoadFromStream(Mstr);
delete Mstr;
ALe i tak zostaje jedno new bez delete
Znawców tematu proszę o ustosunkowanie się do tego zagadnienia.
Pozdrawiam