Свойство TForm, которое представляет собой массив (или коллекцию) потомков TFrame

Я снова исследую эту тему, немного под другим углом, чем прежде:

У меня есть потомок TForm, который используется в нескольких других компонентах в качестве диалога, и я хотел бы добавить в качестве свойства массив подсчитанных потомков TFrame.

Какой подход с использованием нескольких элементов я должен использовать для этого? (Array, TList, TObjectList, TCollection, TOwnedCollection и т. Д.).

(Я также хотел бы знать, концептуально, "почему")

1 ответ

Проще всего основать это на TCollection.

Напишите обертку потомка TCollectionItem вокруг вашего TFrame.

Убедитесь, что когда экземпляр TFrame освобожден кем-то другим, ваш TCollectionItem получит уведомление!

Для этого используйте конструкцию, подобную упомянутой здесь и здесь.

--jeroen

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