¿Forma segura en Delphi para un formulario para distribuir objetos de interfaz vinculados a su vida útil?

Tengo un formulario Delphi que proporciona la funcionalidad detrás de un objeto de interfaz que otras partes del código obtienen referencias también a través de una propiedad que pertenece al formulario. No puedo delegar la funcionalidad de la interfaz a un objeto secundario porque los controles / componentes del formulario prestan mucha atención a esa funcionalidad. No puedo usar TAggregatedObject o TContainedObject para vincular la vida útil de los objetos interconectados que se pasan al Formulario porque la clase TForm no hereda de TinterfacedObject y Delphi no admite la herencia múltiple, por lo que no puedo mezclar TInterfacedObject en la cadena de herencia . Esta situación puede conducir a infracciones de acceso si un formulario se destruye mientras algún otro código contiene una de las referencias de interfaz que el formulario ha pasado. ¿Alguien puede pensar en una buena solución a este problema?

Respuestas a la pregunta(2)

Su respuesta a la pregunta