Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.09.14;
Скачать: CL | DM;

Вниз

TList или Array   Найти похожие ветки 

 
woma   (2008-08-01 20:15) [0]

Мне нужно хранить в массиве некоторое количество экземпляров собственных классов. Что лучше в таком случае выбрать TList или все же простой динамический массив?


 
Johnmen ©   (2008-08-01 20:25) [1]


> Что лучше

В каком смысле?


 
Alucard   (2008-08-01 20:46) [2]

Если речь идет об объектах, то лучше TList, он использует массив для хранения ссылок на элементы, поэтому большой разницы нет, за исключением дополнительной функциональности у TList.

В случае примитивных типов - зависит от количества элементов, частоты изменения их количества, привлекательности доступа по смещению.


 
Amoeba ©   (2008-08-01 20:48) [3]


> Если речь идет об объектах, то лучше TList

Точнее TObjectList


 
Anatoly Podgoretsky ©   (2008-08-01 21:05) [4]

Если хранить, то массив.


 
woma   (2008-08-01 22:45) [5]


> В каком смысле?

Ну наверное, в самом прямом: что бы вы сами использовали в такой ситуации.
---
Попробую использовать TObjectList. У меня в программе есть несколько классов (все наследники одного), вот экземпляры этих классов я и хочу сохранять в TObjectList. Но проблема в том что в одном TObjectList я хочу хранить экземпляры разных классов (но все они образованы от одного базового). Поместить то экземпляр класса в TObjectList можно. Но как считать и узнать, а что это за класс считывается?


 
Amoeba ©   (2008-08-01 23:42) [6]

См. ф-ии ClassName и ClassNameIs, а также оператор is. Подробности в справке.


 
Тын-Дын ©   (2008-08-01 23:43) [7]

procedure TForm1.Button1Click(Sender: TObject);
begin
 if (Sender.ClassType=TButton) then ShowMessage(Sender.ClassName);
end;



Страницы: 1 вся ветка

Текущий архив: 2008.09.14;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.02 c
2-1217659794
гость
2008-08-02 10:49
2008.09.14
Что такое файл в формате CSV? %)


15-1216791164
WondeRu
2008-07-23 09:32
2008.09.14
Теперь я еще и MVP


15-1216318636
@!!ex
2008-07-17 22:17
2008.09.14
Дизайн детей


11-1192217573
Vladimir Kladov
2007-10-12 23:32
2008.09.14
Версия 2.83


15-1216821757
Vlad Oshin
2008-07-23 18:02
2008.09.14
Поставил FastMM.dll - стала BDS2006 глючить. Ни у кого больше?