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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 04.04.2017, 17:01   #11
Ship_1
Форумчанин
 
Регистрация: 10.02.2014
Сообщений: 526
По умолчанию

А, да, чуть не забыл. Так надо как-то удалять из памяти сами TList и TObjectList или не надо?
Ship_1 вне форума Ответить с цитированием
Старый 04.04.2017, 17:03   #12
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Да.
Так же как и TStringList )
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 04.04.2017, 17:16   #13
Ship_1
Форумчанин
 
Регистрация: 10.02.2014
Сообщений: 526
По умолчанию

Ну теперь, вроде, всё Спасибо!
Ship_1 вне форума Ответить с цитированием
Старый 04.04.2017, 17:35   #14
Ship_1
Форумчанин
 
Регистрация: 10.02.2014
Сообщений: 526
По умолчанию

Что-то не пойму...
Код:
Cicle: TObjectList;
Почему компилятор ругается?
Цитата:
"Undeclared identifier: 'TObjectList'"
Ship_1 вне форума Ответить с цитированием
Старый 04.04.2017, 17:37   #15
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Код:
uses contnrs;
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 04.04.2017, 17:43   #16
Ship_1
Форумчанин
 
Регистрация: 10.02.2014
Сообщений: 526
По умолчанию

Вот, блин... Вроде бы, не плохая статься про TObjectList, и ни слова про модуль... Помогло, спасибо...
Ship_1 вне форума Ответить с цитированием
Старый 04.04.2017, 17:59   #17
Ship_1
Форумчанин
 
Регистрация: 10.02.2014
Сообщений: 526
По умолчанию

Что-то вопросы всё не заканчиваются... В каких случаях удаляются и сами элементы, а не только указатели на них?
1. myObjectList.Free;
2. myObjectList.Clear;
Ship_1 вне форума Ответить с цитированием
Старый 04.04.2017, 18:09   #18
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Во всех если OwnsObjects.

Free уничтожает список, его нельзя использовать после этого.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 05.04.2017, 12:17   #19
Ship_1
Форумчанин
 
Регистрация: 10.02.2014
Сообщений: 526
По умолчанию

Ну сюда же уж добавлю вопросик... Чем отличается TObjectList.Count от TObjectList.Capacity?
Блин, никак не могу найти даже страницу, на которой были бы перечислены хотя бы с небольшим описанием все параметры, свойства и методы TObjectList...
Ship_1 вне форума Ответить с цитированием
Старый 05.04.2017, 12:32   #20
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Если TObjectList/TList реализован с помощью массива (то есть элементы расположенные в памяти друг за другом), то каждый раз перевыделять память при добавлении элемента неэффективно.

Обычно увеличивают размер не на 1 элемент, а например умножая на 2 или типа того. 2, 4, 8, 16, ...

Capacity это под сколько элементов выделено памяти, а Count — сколько хранится.
То есть если при Add Count = Capacity, то он будет увеличивать Capacity и выделять новый блок памяти вместо старого.

Обычно интересен только Count.
Иногда можно вручную установить Capacity если известно сколько надо.
Цитата:
Сообщение от Ship_1 Посмотреть сообщение
Блин, никак не могу найти даже страницу, на которой были бы перечислены хотя бы с небольшим описанием все параметры, свойства и методы TObjectList
Выделить его и нажать F1.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.

Последний раз редактировалось Alex11223; 05.04.2017 в 12:41.
Alex11223 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
пытаюсь разобраться ya2500 Visual C++ 13 07.03.2013 15:32
пытаюсь разобраться Кудаив Помощь студентам 6 01.05.2012 23:04
TlistView и Tlist непоучается массово удалять выбранные обьекты... Человек_Борща Общие вопросы Delphi 4 09.01.2011 16:28
Пытаюсь разобраться в задании fs444 Microsoft Office Excel 12 12.01.2010 12:57