C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
Еще раз про ImageList, Извиняйте за надоедливость
Daemon
Отправлено: 02.09.2003, 12:41


Ученик-кочегар

Группа: Участник
Сообщений: 13



В принципе меня интересует конкретно следующее. Если мы в этот ImageList динамически чаво-та насовали, например:

icon = new TIcon;
icon -> Handle = FileInfo.hIcon;
SmallIconImageList -> AddIcon (icon);
...
icon = new TIcon;
icon -> Handle = FileInfo.hIcon;
SmallIconImageList -> AddIcon (icon);
...

то будут ли все, в данном случае, иконки автоматически удалены или нет?
Георгий
Отправлено: 02.09.2003, 21:39


Почетный железнодорожник

Группа: Модератор
Сообщений: 874



проведённый эксперимент показал, что память не освобождается:
CODE
TImageList *il;
void __fastcall TForm1::Button1Click(TObject *Sender)
{
il=new TImageList(this);
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button2Click(TObject *Sender)
{
il->Clear();
delete il;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button3Click(TObject *Sender)
{
Graphics::TBitmap *bmp=new Graphics::TBitmap;
bmp->LoadFromFile("c:\\windows\\лыжи.bmp");
il->Add(bmp,0);
}
LeeMouse
Отправлено: 03.09.2003, 11:23


Дежурный стрелочник

Группа: Участник
Сообщений: 79



[FONT=Times][SIZE=7][COLOR=blue][B]а кто за вас будет ресурсы виндуза освобождать??? см. доку по TBitmap. Методы FreeImage, Dormant и ReleaseHandle.
Георгий
Отправлено: 03.09.2003, 20:05


Почетный железнодорожник

Группа: Модератор
Сообщений: 874



LeeMouse
Если это замечание ко мне, то:
Как был поставлен вопрос, так я и ответил.
Кстати я ответил, что изображения "удалять" надо самому.

Вернуться в Вопросы программирования в C++Builder