Безопасный способ в Delphi для Form распространять объекты интерфейса, связанные с его временем жизни?

У меня есть Delphi Form, которая обеспечивает функциональность за интерфейсным объектом, на который другие части кода тоже получают ссылки через свойство, принадлежащее Form. Я не могу делегировать функциональность интерфейса дочернему объекту, потому что слишком большая часть этой функциональности обслуживается элементами управления / компонентами в форме. Я не могу использовать TAggregatedObject или TContainedObject, чтобы связать время жизни сопряженных объектов, передаваемых вокруг, с формой, потому что класс TForm не наследуется от TinterfacedObject, а Delphi не поддерживает множественное наследование, поэтому я не могу смешивать TInterfacedObject с цепочкой наследования , Эта ситуация может привести к нарушениям доступа, если форма будет уничтожена, в то время как другой код содержит одну из ссылок интерфейса, переданных формой. Кто-нибудь может придумать хорошее решение этой проблемы?

Ответы на вопрос(2)

Ваш ответ на вопрос