Форум программистов, компьютерный форум, киберфорум
Наши страницы
C++ Builder
Войти
Регистрация
Восстановить пароль
 
mihalech19
3 / 3 / 4
Регистрация: 23.06.2014
Сообщений: 126
#1

Удаление с формы динамически созданных Memo - C++ Builder

29.05.2015, 19:49. Просмотров 381. Ответов 2
Метки нет (Все метки)

Динамически создаю n-ое количество memo. Затем пытаюсь удалить их всех с формы:
C++
1
2
3
4
5
6
7
    for (int i = 0; i < ComponentCount; i++)
    {
        TMemo* mem;
        mem = dynamic_cast<TMemo*>(Components[i]);
        if (mem)
        delete mem;
}
Но удаляется только половина. Никак не пойму, что не так ?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.05.2015, 19:49
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Удаление с формы динамически созданных Memo (C++ Builder):

Удаление динамически созданных TSpeedButton
Имеется такой вот код, оптимизации 0, но сейчас не об этом. При попытке...

Удаление динамически созданных вкладок
Подскажите как сделать? Создаю вкладки по нажатию кнопки void __fastcall...

Удаление динамически-созданных компонентов
Использую класс, компонентами которого кроме всего прочего, являются StaticText...

Удаление динамически созданных объектов
Приветствую. Вопрос поднимался, но что то не получается! Создаю объекты в...

Удаление динамически созданных объектов
Помогите плз. Пишу курсач по МИО. Вот ща работаю над интерфейсом. Я по нажатию...

Удаление динамически созданных вкладок PageControl
Всем доброго времени суток. Создаю при открытие формы вкладки на PageControle....

2
Avazart
Эксперт С++
7678 / 5587 / 543
Регистрация: 10.12.2010
Сообщений: 25,067
Записей в блоге: 17
29.05.2015, 20:24 #2
Потому что удаляяСь компонент меняет ComponentCount т.е из списка он тоже удаляется и компоненты в списке смещаются.

C++
1
2
3
4
5
6
7
8
9
for (int i = 0; i < ComponentCount; i++)
  {
        TMemo* mem = dynamic_cast<TMemo*>(Components[i]);
        if (mem)
        {
           delete mem;
           i--;
        }
  }

Есть такая штука как TObjectList добавляй в него Memo когда их создаешь и потом не нужно будет мудрить с удалением.
1
mihalech19
3 / 3 / 4
Регистрация: 23.06.2014
Сообщений: 126
29.05.2015, 20:28  [ТС] #3
Благодарствую
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.05.2015, 20:28
Привет! Вот еще темы с решениями:

Удаление ранее созданных объектов с формы
народ, помогите плиз! Есть массив объектов, созданных ранее. ...

VCL удаление динамически созданых объектов с формы
Написал игру ханойские башни, так чтобы можно было задавать любое количество...

События динамически созданных объектов
Всем привет :) Вопрос в том, как сделать отдельные события для каждой...

Покраска динамически созданных StringGrid
Всем доброго времени суток. Кто может подсказать как можно покрасить занятые...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru