Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Не могу выгрузить Image 
V
    Опции темы
kiLLProg
Дата 14.7.2012, 07:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 39
Регистрация: 1.10.2008

Репутация: нет
Всего: нет



Подскажите пожалуйста как выгрузить Image с освобождением оперативной памяти? Делаю так.
Код

TJPEGImage *jpeg = new TJPEGImage;
Graphics::TBitmap *bmp = new Graphics::TBitmap;
  
jpeg->LoadFromFile("acdcLogo-jpg.JPG");
bmp->Assign(jpeg);

srcImage->Width = bmp->Width;
srcImage->Height = bmp->Height;
srcImage->Picture->Bitmap->Assign(bmp);
srcImage->Free();

srcImage->Free(); - не срабатыватет. Смотрю в менеджере задач кол-во выделенной оперативы не поменялось.

И подскажите пожалуйста как освободить Imagы в таком случае?
Код

TJPEGImage *jpeg = new TJPEGImage;
TImage *img[9];

    for (k=0; k<9; k++)
    {
    
      Img[k] = new TImage (Form1);
      Img[k]->Parent = Form1;
      Img[k]->Width = _width;
      Img[k]->Height = _height;
      Img[k]->Top = _top;
      Img[k]->Left = _left;
      Img[k]->Canvas->Draw(0, 0, srcImage->Picture->Bitmap);
    }
 
PM MAIL   Вверх
Dem_max
Дата 14.7.2012, 08:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1780
Регистрация: 12.4.2007

Репутация: 14
Всего: 39



Они освободятся когда закончится область действия класса TImage.

например

Код

voud func(void)
{
   TImage img1;
   
   {
      TImage img2, img3;
   
      
   } // тут уничтожен img2 и img3;


}  // тут уничтожен img1;


Добавлено @ 08:31
Да а тебе нужно делать так

Код

TJPEGImage *jpeg = new TJPEGImage;
TImage *img[9];

    for (k=0; k<9; k++)
    {
    
      Img[k] = new TImage (Form1);
      Img[k]->Parent = Form1;
      Img[k]->Width = _width;
      Img[k]->Height = _height;
      Img[k]->Top = _top;
      Img[k]->Left = _left;
      Img[k]->Canvas->Draw(0, 0, srcImage->Picture->Bitmap);
      delete img[i]; 
    }

delete jpeg;


Добавлено @ 08:33
Вообщем то это основы С++, книжку в руки и вперед.

Это сообщение отредактировал(а) Dem_max - 14.7.2012, 08:46


--------------------
Американские программисты долго не могли понять, почему русские при зависании Windоws всё время повторяют "Твой зайка написал" ("Yоur bunnу wrоte")
PM MAIL   Вверх
kiLLProg
Дата 14.7.2012, 09:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 39
Регистрация: 1.10.2008

Репутация: нет
Всего: нет



Больше спасибо, помогло! Массив имейджов удаляется  smile  smile 
По первому пункту чуток не так. Один Image на форме, картинка у Image полученна через ассигн. И полсе free, ресурсы не высвобождаются. А вот если 
Код

Image2->Picture->LoadFromFile("acdcLogo-jpg.JPG");
Image2->Free();

То всё удаляется. 
Но как удалить имейдж (с освобждением ресурсов), если картинка к нему assign'ута?

Добавлено через 13 минут и 5 секунд
А. все работает. Мой косяк. Код работает. В программе запутлся уже, где выделяется где удаляется.
Спасибо.

Это сообщение отредактировал(а) kiLLProg - 14.7.2012, 09:05
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по С++ Builder обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Настоятельно рекомендуем заглянуть в DRKB (Delphi Russian Knowledge Base) - крупнейший в рунете сборник материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C++ Builder | Следующая тема »


 




[ Время генерации скрипта: 0.0460 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.