Использование TCollection с уже определенным классом - PullRequest
0 голосов
/ 19 сентября 2009

(Примечание: это в некоторой степени связано с моим последним вопросом ).

Я новичок в использовании TCollection в Delphi, и все еще обхожу вокруг различные способы для обработки отношений один-ко-многим класса / свойства-элемент. Изучая TCollection и TCollectionItem, я столкнулся с парой вопросов:

1) Можно ли использовать TCollection или TOwnedCollection для свойства TForm? (Еще не пробовал, но заранее интересуюсь, не вызовут ли его встроенные возможности Object Inspector проблемы).

2) Если кто-то захочет использовать какой-то уже определенный в другом месте класс, который не может напрямую происходить из TCollectionItem, с TCollection (то есть вроде "как" TCollectionItem "), можно ли это сделать? Если это так, это то, что можно сделать с помощью интерфейсов? ... или что будет лучшим подходом?

1 Ответ

2 голосов
/ 19 сентября 2009
  1. Для инспектора объектов не имеет значения, для какого компонента определены свойства. Поскольку TForm происходит от TComponent, это возможно.

  2. Самый простой способ - написать класс-оболочку (давайте назовем его W) вокруг уже определенного в другом месте класса (назовем его A). Каждый экземпляр X владеет и инкапсулирует A.

- Йерун

...