Свойство массива, TList, TStringList или TCollection и т. Д. (Delphi Win32)

Я разрабатываю различные компоненты и регулярно сталкиваюсь с необходимостью иметь свойство, которое имеет отношение "один ко многим", компонент-свойство-член. Компоненты часто являются визуальными компонентами, но не всегда, и иногда их необходимо регистрировать в IDE (т. Е. Использовать инспектор свойств), но не всегда. Я не уверен, какой путь выбрать при настройке этих свойств - используя свойство массива, TList, TStringList, TCollection или что-то еще вообще (возможно, новый класс, который наследуется от одного из них).

Каковы "лучшие практики" / руководящие принципы для использования, когда и где?

2 ответа

Решение

Если они являются свойствами, вы можете перейти из TCollection, а затем IDE и инспектор объектов автоматически предоставят им поддержку через редактор свойств TCollection.

TObjectList и TInterfaceList / IInterfaceList - мои любимые. И есть TThreadList для многопоточных списков. Все они доступны в Delphi 6 (или даже раньше).

Другие вопросы по тегам