TListItem i Data

0

Witam!
Mam taki problemik. Rzutuje tak:

TListItem* item = ListView->Items->Add();
item->Data = static_cast<void*>(cośtam) // cośtam jest powiedzmy String;

W zdarzeniu OnDeleting ListViewa mam

String* s;
s = static_cast<String*>(Item->Data);
delete s;

Mi wygląda, że to jest poprawnie a wywala mi wyjątek, że dobieram się do nie swojej pamięci. Jakieś sugestie?

0

Nie jestem pewny, ale chyba nie musisz uzywac delete, poniewaz gdy usuwasz Itema z ListView to pamiec z Data jest zwalniana automatycznie. Ale mozliwe, ze sie myle.

0

CodeGuard zwrócił coś takiego:

The bogus value (0x9EB59EB1) was most likely retrieved by accessing a(n)
memory block that has already been freed

Więc niby podczać niszczenie ListItema jest <font color="white">żeczywiście</span> zwalniana pamięć spod Data. Tylko, że nigdzie nie napotkałem w helpach wzmianki o tym.

0

Ja kiedy wlasnie o tym wyczytalem, ale teraz nie moge znalezc dlatego napisalem, ze nie jestem pewien :-/

[dopisane]

(...) block that has already been freed

Pamiec juz zostala zwolniona wiec... ;-)

1 użytkowników online, w tym zalogowanych: 0, gości: 1