Hola nuevamente, pues estoy de regreso con una nueva duda, me disculpo si es que este hilo ya está abierto, pero no pude encontrar informacion que me sirviera para resolver mi problema.
Tengo un Formulario principal: "TFMain"
Tengo un Formulario "TFImagen" que se creará en tiempo de ejecucion y se alojara en una nueva pestaña de un PageControl1 que está en "TFMain". Esto lo hago con el siguiente codigo:
Código Delphi
[-]
Unit Main;
interface
uses
/*....*/ UImagen;
/*etc, etc*/
procedure TFMain.Abrir1Click(Sender: TObject);
var aForm:TFImagen;
tabSheet: TTabSheet;
begin
tabSheet := TTabSheet.Create(PageControl1) ;
tabSheet.PageControl := PageControl1;
aForm := TFImagen.Create(tabSheet) ;
aForm.Parent := tabSheet;
aForm.Align := alClient;
aForm.BorderStyle := bsNone;
aForm.Visible := true;
PageControl1.ActivePage := tabSheet;
end;
y hasta ahi todo bien, puedo crear tantos Formularios "TFImagen" como yo quiera y puedo acceder a las propiedades de cualquier "TFImagen" desde "TFMain" con el siguiente codigo:
Código Delphi
[-](PageControl1.ActivePage.Controls[0] as TFImagen).PropiedadX;
Pero el problema es cuando desde un "TFImagen" quiero acceder a las propiedades de "TFMain". y es que no puedo poner en el unit del formulario dinamico uses Main (que es el unit de TFMain) pk me marca un error por referencia circular, entonces como puedo acceder a las propiedades de mi formulario principal??
Dado que el padre de TFImagen es tabsheet, me imagino que primero debo acceder a tabsheet y luego al padre de tabsheet y asi hasta llegar al TFMain que es el formulario principal, pero pues no tengo ni idea de como hacer esto.
Espero puedan ayudarme nuevamente, y gracias de antemano.