Haber si me podeis explicar esto que no entiendo:
Desde el Form1, el principal de la aplicacion, creo otro formulario, por ejemplo así:
Código Delphi
[-]
uses Unit2; ...
procedure TForm1.Button1Click(Sender: TObject);
begin
with TForm2.Create(self) do
begin
ShowModal;
Free;
end;
end;
Si desde el Form2 quiero acceder a alguna objeto/propiedad del Form1, me basta con añadir en el Unit2 lo siguiente:
Código Delphi
[-]
implementation
uses Unit1;
Hasta aquí todo bien, si ahora vuelvo a crear otro form desde el Form2, así:
Código Delphi
[-]
uses Unit3; ...
procedure TForm2.Button1Click(Sender: TObject);
begin
with TForm3.Create(self) do
begin
ShowModal;
Free;
end;
end;
Si ahora quiero acceder a algun objeto el Form2 se supone que debo incluir:
Código Delphi
[-]
implementation
uses Unit2;
Pues no funciona, lanza una excepción EAccesViolation, y lo curioso es que en tiempo de diseño si que puedo acceder perfectamente a los objetos/propiedades del Form2. Es mas, si incluyo Unit1 en el uses puedo acceder sin problemas a los objetos del Form1.
Debo cometer algun error que no consigo ver.
Utilizo Delphi XE i Windows XP