Использование TCollection с уже определенным классом
(Примечание: это несколько связано с моим последним вопросом).
Я новичок в использовании TCollection в Delphi, и я все еще обдумываю различные способы обработки отношений класс-свойство-элемент-один-ко-многим. Изучая TCollection и TCollectionItem, я столкнулся с парой вопросов:
1) Можно ли использовать TCollection или TOwnedCollection для свойства TForm? (Еще не пробовал, но заранее интересуюсь, не вызовут ли его встроенные возможности Object Inspector проблемы).
2) Если кто-то захочет использовать какой-то уже определенный в другом месте класс, который не может напрямую происходить из TCollectionItem, с TCollection (то есть как "как"TCollectionItem"), можно ли это сделать? Если это так, это то, что можно сделать с помощью интерфейсов?... или что будет лучшим подходом?
1 ответ
Для инспектора объектов не имеет значения, для какого компонента определены свойства. Поскольку TForm происходит от TComponent, это возможно.
Самый простой способ - написать класс-оболочку (давайте назовем его W) вокруг вашего уже определенного в другом месте класса (назовем его A). Каждый экземпляр X владеет и инкапсулирует A.
--jeroen