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

Вниз

Создание коллекции объектов   Найти похожие ветки 

 
GreySerg   (2003-07-25 18:41) [0]

Есть объект


TExpType = class
private
FName: String;
FTableName: String;
FPK_Column_Name: String;
FNote:String;
FHierarchy: Boolean;
FDocument: Boolean;
FStatic: Boolean;
FAttributes: TExpMetaAttributeCollection;
public

procedure AddAttribute();
procedure RemoveAttribute();

property Name: String read FName write FName;
property TableName: String read FTableName write FTableName;
property PK_Column_Name: String read FPK_Column_Name write FPK_Column_Name;
property Note: String read FNote write FNote;
property Hierarchy: Boolean read FHierarchy write FHierarchy default False;
property Document: Boolean read FDocument write FDocument default True;
property Static: Boolean read FStatic write FStatic default True;
end;


от какого объекта лучше унаследовать (от TList, TObjectList, TCollection), чтобы получить коллекцию объектов TExpTypeCollection , в которой есть методы AddType, DelType, EditType, SortByName?


 
vuk ©   (2003-07-25 19:04) [1]

Я бы от TObject унаследовал. А при реализации использовал бы TObjectList.

TCollection - это, в основном, для использования в компонентах...


 
Юрий Зотов ©   (2003-07-26 08:52) [2]

> vuk © (25.07.03 19:04)

IMHO, все же не совсем так. Коллекции удобны для построения, вообще говоря, любых списков объектов, элементы которых должны:
- редактироваться и настраиваться в design-time;
- сохраняться в DFM.

Другое дело, что обычно все это требуется именно в компонентах, тут Вы правы. Но коллекция может быть свойством компонента и не обязательно напрямую, она может быть свойством объекта, который сам является сохраняемым и настраиваемым свойством компонента.


> GreySerg (25.07.03 18:41)

Если Вашему списку требуются настраиваемость и сохраняемость, то действительно есть смысл делать его в виде коллекции. Тогда элемент списка наследуете от TCollectionItem, а саму коллекцию - от TCollection (или от TOwnedCollection). Как это реализуется, можно посмотреть здесь:
http://www.delphikingdom.com/helloworld/tcollection.htm

Ну а если настраиваемость и сохраняемость не нужны, то, видимо, vuk предложил оптимальное решение.



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

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

Наверх




Память: 0.47 MB
Время: 0.021 c
4-20858
Vitalik
2003-06-06 12:23
2003.08.07
Содержимое корзины


14-20700
Pavel
2003-07-23 13:37
2003.08.07
стандарты программировани


3-20419
maxon
2003-07-16 14:52
2003.08.07
ошибка с ADOQuery.Filter


3-20380
AkaSaint
2003-07-14 18:15
2003.08.07
Как в ADOTable обновить из БД только одну запись?


4-20859
Dmk
2003-06-01 01:28
2003.08.07
Как перечислить все окна над моим?