Свойство TForm, которое представляет собой массив (или коллекцию) потомков TFrame
Я снова исследую эту тему, немного под другим углом, чем прежде:
У меня есть потомок TForm, который используется в нескольких других компонентах в качестве диалога, и я хотел бы добавить в качестве свойства массив подсчитанных потомков TFrame.
Какой подход с использованием нескольких элементов я должен использовать для этого? (Array, TList, TObjectList, TCollection, TOwnedCollection и т. Д.).
(Я также хотел бы знать, концептуально, "почему")
1 ответ
Проще всего основать это на TCollection.
Напишите обертку потомка TCollectionItem вокруг вашего TFrame.
Убедитесь, что когда экземпляр TFrame освобожден кем-то другим, ваш TCollectionItem получит уведомление!
Для этого используйте конструкцию, подобную упомянутой здесь и здесь.
--jeroen