Ver Mensaje Individual
  #1  
Antiguo 29-07-2011
adrall adrall is offline
Miembro
 
Registrado: ene 2007
Posts: 94
Reputación: 18
adrall Va por buen camino
Acceso a objetos/propiedades de otro Form

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;  // Incluyo la referencia en el Uses
...
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;  // Incluyo la referencia en Uses
...
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
Responder Con Cita