Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Удаление динамических Image, Borland C++ 
:(
    Опции темы
Evgesha
  Дата 20.10.2006, 03:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Как удалить динамичеси созданые Image и 
собствено второй вопрос как к созданым Image прикрутить метод например OnClick
Проблему я вижу в том что Image создаються в цикле, и по этому я и метод не могу для каждого создать
Вот мой код 
Код

void __fastcall TEigenshaftenForm::Button1Click(TObject *Sender)
{
int ImageListCount1=EigenshaftenForm->ImageList1->Count;
float ImageList1Width=ImageList1->Width, ImageList1Height=ImageList1->Height;
ScrollBox1->VertScrollBar->Position=0;
TImage *Image;
for (int j=0;j<=ImageListCount1;j++)
    {
     Image=new TImage (ScrollBox1);
     Image->Width=(ImageList1Width*(EigenshaftenForm->ScrollBox1->Width/ImageList1Width))-24;
     Image->Height=(ImageList1Height*((EigenshaftenForm->ScrollBox1->Width/ImageList1Width)*100))/100-24;
     PatBlt(Image->Canvas->Handle, 0, 0, Image->Width, Image->Height, WHITENESS); InvalidateRect(0,NULL,true);
     Image->Name="Image"+IntToStr(j+1);
     Image->Left=1;
     Image->Top=1+j*Image->Height;
     Image->Cursor=crHandPoint;
     Image->Stretch=true;
     Image->Parent=ScrollBox1;
//     Image->OnClick=ImageOnClick;
     EigenshaftenForm->ImageList1->GetBitmap(j,Image->Picture->Bitmap);
     }
     delete Image;
}

--------------------
Все это хорошо, а как дальше жить!!!
PM MAIL   Вверх
Link90
Дата 20.10.2006, 08:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


"Битый" пиксель
*


Профиль
Группа: Участник
Сообщений: 214
Регистрация: 25.11.2005
Где: Иркутск - середин а земли!

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



1) Image->Free(); // удалить компонент
2) На второй твой вопрос на форуме тема поднималась не раз, юзай поиск!
PM MAIL ICQ   Вверх
Romikgy
Дата 20.10.2006, 08:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

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



А мне советовали что удалять через delete правильнее , да и  по логике , тоже создавал то ты компонент не через Create , так че удалять то через Free ?


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
Evgesha
Дата 21.10.2006, 13:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Да мнение разделилось
Так все таки что лучше
А через делете будут все Имаже удаляться или один
--------------------
Все это хорошо, а как дальше жить!!!
PM MAIL   Вверх
Romikgy
Дата 22.10.2006, 15:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

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



Цитата(Evgesha @  21.10.2006,  12:13 Найти цитируемый пост)
один 




--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
FFFFFFF7
Дата 22.10.2006, 17:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Цитата(Romikgy @  20.10.2006,  08:58 Найти цитируемый пост)
 мне советовали что удалять через delete правильнее , да и  по логике , тоже создавал то ты компонент не через Create , так че удалять то через Free ?

malloc - free (С)
new - delete(С++)
Просто delete из ООП.
Я ранее не видел разницы, но разобравшись - она есть. Да и "создавать" в случае работы с классами лучше всего new. Хотя в MSDN повсюду malloc...(?странно)
Цитата(Evgesha @  21.10.2006,  13:13 Найти цитируемый пост)
А через делете будут все Имаже удаляться или один

Чтобы удлить все компоненты какого-то одного типа, например. есть прекрасное св-во окна this->Components. Отсюда и копай дальше.

Добавлено @ 17:43 
Цитата(Link90 @  20.10.2006,  08:07 Найти цитируемый пост)
) Image->Free(); // удалить компонент

Link90,  читаем хелп:
Цитата

Do not call the Free method of an object. Instead, use the delete keyword, which invokes Free to destroy an object. Free automatically calls the destructor if the object reference is not NULL.

Цитата(Romikgy @  22.10.2006,  15:39 Найти цитируемый пост)
Гы....

 smile 
--------------------
Да помоги кодеру, а значит - ближнему своему!
PM MAIL   Вверх
Romikgy
Дата 22.10.2006, 18:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

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



Цитата(FFFFFFF7 @  22.10.2006,  16:38 Найти цитируемый пост)
Я ранее не видел разницы, но разобравшись - она есть.

есть и new  и delete можно перегрузить
Цитата(FFFFFFF7 @  22.10.2006,  16:38 Найти цитируемый пост)
Хотя в MSDN повсюду malloc...(?странно)

имхо по той причине что винда в основном написана на С , а С++ это в довесок


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
Evgesha
Дата 22.10.2006, 21:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Всем спасибо буду копать  smile  this->Components выглядит более правилней еще раз спасибо
--------------------
Все это хорошо, а как дальше жить!!!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

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

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

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

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


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

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


 




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


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

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