![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| Gudzik11 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 38 Регистрация: 21.3.2012 Репутация: нет Всего: нет |
Подскажите пожалуйста как работать с TObjectList
Тоесть мне нужно удалить один элемент из TObjectList я делаю так
и вывожу содержимое в listbox так вот listbox показывает что до удаления было 4 обекта а после удаления показывает что там и осталось 4 обекта только 2 пустой Скажите как удалить полностью ? |
|||
|
||||
| Poseidon |
|
|||
![]() Delphi developer ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 5273 Регистрация: 4.2.2005 Где: Гомель, Беларусь Репутация: 53 Всего: 133 |
1) Проходя циклом с первого элемента и до последнего, есть большая вероятность получить ошибку, т.к. при удалении хотя бы одного элемента, количество всех элементов уже будет менше чем давало Count при старте цикла.
2) Запись TPanel(list[i]).Free освобождает панель, которая хранится в list[i], но не удаляет саму запись из списка. Надо как-то так:
Это только как пример. Delphi под рукой нет, возможны мелкие недочеты. Это сообщение отредактировал(а) Poseidon - 1.4.2014, 09:07 -------------------- Если хочешь, что бы что-то работало - используй написанное, если хочешь что-то понять - пиши сам... |
|||
|
||||
| Romikgy |
|
|||
![]() Любитель-программер ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7326 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: 26 Всего: 146 |
list.delete(i);
только перебор надо делать с конца... -------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. |
|||
|
||||
| Gudzik11 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 38 Регистрация: 21.3.2012 Репутация: нет Всего: нет |
Извените долго не мог пробратся к делфи.
Вот зделал почти что хотел правдо от TList пришлось отказатса не смог я с ним совладать теперь думаю что зря так как сейчас нужно сделать Drag-and-drop панелий чтоб можно было местами менять к примеру 5 панели с 1 и т.д . Вариантов не каких мозг кипит. Подскажите кто знает как можно реализовать в моей програмке Drag-and-drop? вот проект : http://gfile.ru/a5Jbo И по возможности глянте на ошибки . Добавлено через 7 минут и 27 секунд list.Delete(i) дело в том что не проходит после того как удаляетса компонент он остовляет не занятую память а после добовления новой панели она дублируетса в пустом мести и в новой ячейе . Я просто не нашол хорошего описания TObjectList , инфы очень мало про него всё расчитано на спецеалистов. |
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |