![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы
![]() |
Поиск в этой теме
![]() |
![]() |
#1 |
Пользователь
Регистрация: 15.11.2010
Сообщений: 31
|
![]()
Суть проблемы:
У нас есть TStringList, в котором есть N-ное количество строк. На каждую строку создается, предположим, TLabel. В случае изменения количества строк должно меняться и количество TLabel. Если мы увеличим количество строк, то новые TLabel создаются без проблем, но если количество строк уменьшить, то созданные TLabel на уже не существующие строки никуда не деваются. Я попытался уничтожать все TLabel, но у меня ничего не вышло, получается удалить только самую последнюю, и все. Код:
|
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
![]()
Ай-яй-яй. Кто же так создает. Ты в цикле создаешь одну и ту же метку. Создай массив компонентов и "приклей" его ко всем изменениям в StringList. Кстати, нафига это все?
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика ![]() |
![]() |
![]() |
![]() |
#3 | |
Старожил
Регистрация: 20.04.2008
Сообщений: 5,542
|
![]() Цитата:
label.top:=...; label.left:=...; а как их потом найти (для удаления) смотри похожие темы, там это наверняка было.
программа — запись алгоритма на языке понятном транслятору
|
|
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
![]()
а) Label - Насколько я помню это слово зарезервировано
б) Меток будет создано столько, верно, но его идентифкатор будет указывать на последнюю... Именно по этой причине у него и возникают проблемы...
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика ![]() |
![]() |
![]() |
![]() |
#5 | |||||
Старожил
Регистрация: 20.04.2008
Сообщений: 5,542
|
![]() Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
component as Tlabel component is Tlabel
программа — запись алгоритма на языке понятном транслятору
Последний раз редактировалось evg_m; 10.12.2010 в 14:00. |
|||||
![]() |
![]() |
![]() |
#6 |
Участник клуба
Регистрация: 07.07.2007
Сообщений: 1,518
|
![]()
Utkin правильный вопрос задал "нафига это все?"
Может listbox использовать вместо всего этого? А при удалении label-а из середины нужно у нижестоящих изменить свойство Top? Или всем установить свойство Align:= alTop;? Несерьезно. |
![]() |
![]() |
![]() |
#7 |
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
![]()
evg_m, это все понятно
![]()
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика ![]() |
![]() |
![]() |
![]() |
#8 |
Пользователь
Регистрация: 15.11.2010
Сообщений: 31
|
![]()
В первом посте код для примера, я его написал прям здесь, когда пост создавал. В программе я использую немного другой код, но принцип действия тот-же, да и не лабелы я создаю, а кнопки с определенным действием, несколько листбоксов, и еще по мелочи. Компоненты один на одного не налазят, а на первой странице я не вписал расположение TLabel потому, что хотел сделать код примера покороче, чтобы не напрягать читающих ненужными действиями.
Мне попросту нужно понять как удалить все созданные динамические компоненты, а потом я без проблем интегрирую решение в свой код. Конечно можно было-бы выложить весь свой исходник, а потом просто взять готовое решение без малейшего понятия как оно работает, потому что обычно таком случае довольно сложно разобраться в принципе работы. |
![]() |
![]() |
![]() |
#9 |
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
![]()
Мой рецепт - использовать массив компонентов.
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика ![]() |
![]() |
![]() |
![]() |
#10 |
Старожил
Регистрация: 20.04.2008
Сообщений: 5,542
|
![]()
почитать что такое
Tcomponent + components[] , componentcount component as Tlabel component is Tlabel как удалить объект (наверное Free). компонент то же объект. Об остальном позаботится VCL. точнее Tcomponent.Destroy;
программа — запись алгоритма на языке понятном транслятору
Последний раз редактировалось evg_m; 10.12.2010 в 17:08. |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Удаление динамических объектов / полная очистка формы | 095 | Общие вопросы Delphi | 3 | 23.04.2012 16:09 |
Понятия принципа создания динамических объектов | Golovastik | Общие вопросы C/C++ | 25 | 05.06.2010 21:18 |
Проблема с созданием динамических объектов. (Delphi7) | Dalagardi | Помощь студентам | 2 | 15.03.2010 17:15 |
Имя динамических объектов | PVD | Общие вопросы Delphi | 26 | 09.02.2010 15:38 |
Процедуры для динамических объектов | Fruit | Общие вопросы Delphi | 8 | 30.12.2008 21:10 |