| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > TObjectList |
| Автор: Gudzik11 31.3.2014, 17:57 | ||
| Подскажите пожалуйста как работать с TObjectList Тоесть мне нужно удалить один элемент из TObjectList я делаю так
и вывожу содержимое в listbox так вот listbox показывает что до удаления было 4 обекта а после удаления показывает что там и осталось 4 обекта только 2 пустой Скажите как удалить полностью ? |
| Автор: Poseidon 1.4.2014, 09:06 | ||
| 1) Проходя циклом с первого элемента и до последнего, есть большая вероятность получить ошибку, т.к. при удалении хотя бы одного элемента, количество всех элементов уже будет менше чем давало Count при старте цикла. 2) Запись TPanel(list[i]).Free освобождает панель, которая хранится в list[i], но не удаляет саму запись из списка. Надо как-то так:
Это только как пример. Delphi под рукой нет, возможны мелкие недочеты. |
| Автор: Romikgy 1.4.2014, 10:40 |
| list.delete(i); только перебор надо делать с конца... |
| Автор: Gudzik11 22.4.2014, 17:50 |
| Извените долго не мог пробратся к делфи. Вот зделал почти что хотел правдо от TList пришлось отказатса не смог я с ним совладать теперь думаю что зря так как сейчас нужно сделать Drag-and-drop панелий чтоб можно было местами менять к примеру 5 панели с 1 и т.д . Вариантов не каких мозг кипит. Подскажите кто знает как можно реализовать в моей програмке Drag-and-drop? вот проект : http://gfile.ru/a5Jbo И по возможности глянте на ошибки . Добавлено через 7 минут и 27 секунд list.Delete(i) дело в том что не проходит после того как удаляетса компонент он остовляет не занятую память а после добовления новой панели она дублируетса в пустом мести и в новой ячейе . Я просто не нашол хорошего описания TObjectList , инфы очень мало про него всё расчитано на спецеалистов. |