Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > C++ Builder
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.01.2014, 17:02   #1
Lokki23
Пользователь
 
Регистрация: 19.11.2013
Сообщений: 57
Лампочка Как можно удалить на форме все динамичести создание елементи типа TLabel???

Создавал так :
Код:
TLabel *label;


label = new TLabel(Form1);
label->Parent = page;
label->Visible = true;
label->Top = 20;
label->Left = Form1->Width/2-67;
label->Caption ="Понеділок" ;
label->Name = "Label" +IntToStr(i+20);
label->Font->Color = clMenuHighlight;
label->Font->Size = 17;
как их можна удалить можек есть какая то функция которая ищет обэкти TLabel . Или чтото подобное .

Последний раз редактировалось ACE Valery; 27.01.2014 в 20:34.
Lokki23 вне форума Ответить с цитированием
Старый 25.01.2014, 17:09   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Добавь переменку типа TObjectList.
В нее мотодом add добавляй ссылку на эти лейблы.
После метод Clear этого объекта вызовет все деструкторы всех добавленных лейблов.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 25.01.2014, 18:58   #3
Lokki23
Пользователь
 
Регистрация: 19.11.2013
Сообщений: 57
По умолчанию

А эсли я с помощу одного указателя создаю обекти:


Код:
for(int i =0;i<10;i++)
{
label = new TLabel(Form1);
label->Parent = page;
label->Visible = true;
label->Top = 20;
label->Left = Form1->Width/2-67;
label->Caption ="Понеділок" ;
label->Name = "Label" +IntToStr(i+20);
label->Font->Color = clMenuHighlight;
label->Font->Size = 17;
}
тогда что делать?

Последний раз редактировалось ACE Valery; 27.01.2014 в 20:34.
Lokki23 вне форума Ответить с цитированием
Старый 25.01.2014, 19:12   #4
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

закроете прогу все удалятся сами, волосы рвать не обязательно пока
eval вне форума Ответить с цитированием
Старый 26.01.2014, 10:45   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
тогда что делать?
Странный вопрос... Использование Objectlist тебе этого не запрещает. Я тоже.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 26.01.2014, 16:12   #6
Lokki23
Пользователь
 
Регистрация: 19.11.2013
Сообщений: 57
По умолчанию

Может я как-то не так делаю вибивает ошибка при работе програими

Код:
TObjectList *List;

for(int i =0;i<10;i++)
{
label = new TLabel(Form1);
label->Parent = page;
label->Visible = true;
label->Top = 20;
label->Left = Form1->Width/2-67;
label->Caption ="Понеділок" ;
label->Name = "Label" +IntToStr(i+20);
label->Font->Color = clMenuHighlight;
label->Font->Size = 17;

List->Add(label);
}

Последний раз редактировалось ACE Valery; 27.01.2014 в 20:34.
Lokki23 вне форума Ответить с цитированием
Старый 26.01.2014, 16:38   #7
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Еще один скрыватель текста... Ох уж эта школота...
Телепатирую: Ты не создал объект List
Код:
TObjectList *List= new TObjectList();
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 27.01.2014, 20:18   #8
Lokki23
Пользователь
 
Регистрация: 19.11.2013
Сообщений: 57
По умолчанию

Ну да протупил не спорю но когда пишу List->Clear(); то пишет invalid pointer operation
Lokki23 вне форума Ответить с цитированием
Старый 27.01.2014, 20:45   #9
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Показывай код. Только полностью. Возможно ты внося в список лейблы потом удаляешь (читай: освобождаешь) их не вынося из списка.
Если да то List->Delete(номер лейбы) удалит лейбу из списка и освободит ее.
Почитай про этот метод, и если пользуешься списком освбождай внесенные в него обьекты ихним же методом.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создание run-time TLabel как в Delphi? SovereignSun Общие вопросы Delphi 0 22.11.2011 16:30
Уничтожение компонентов на форме, которые относятся к классу TLabel Alex1991 Помощь студентам 3 19.02.2010 18:15
Файл типа TLabel (Delphi) edmynt Помощь студентам 12 12.02.2010 12:48
Удалить из строки все символы типа #10 #9 и т.д. TwiX Общие вопросы Delphi 10 01.12.2009 19:21
Как удалить из базы данные типа TBlobField? Novi4ek Помощь студентам 7 04.06.2008 15:14