franroju
09-10-2012, 21:25:08
Buenas gente. Tengo una situación que quiero plantear, para ver como me ayudan a resolverla.
Tengo una aplicación MDI, es decir, un Form "padre" y los demás incluidos dentro de éste.
Ahora, a la aplicación le quiero hacer un login, y la idea era que haya un Form de logeo, y cuando inicia sesión (y si es correcto), este último se cierre y abra la aplicación real.
Cuando lo hago, en realidad el Form de login lo oculto, porque si lo cierro, se cierra toda la aplicación. Y lo que me sucede, es que cuando quiero abrir un Form hijo, me dice que no hay ningún MDI activo.
Les pongo el código que empleo para ver qué hago mal, o que me digan si es posible cómo podría hacerlo.
En el Form1 (el de login) hago lo siguiente:
Var
Form2:TForm2;
begin
//despues de un login exitoso
Form2:=TForm2.Create(self); //este es el Form MDI principal
Form2.show;
Visible := False; //oculto el Form de login (una chanchada!!!)
end;
En el Form2 (el MDI principal) hago lo siguiente:
procedure TForm2.Abrir1Click(Sender: TObject);
begin
TForm3.Create(self).Show; //creo el Form MDIChild
end;
Y al ejecutarse este último código me dice: "Cannot create form. No MDI forms are currently active."
Si alguien me ayuda, le agradezco.
Tengo una aplicación MDI, es decir, un Form "padre" y los demás incluidos dentro de éste.
Ahora, a la aplicación le quiero hacer un login, y la idea era que haya un Form de logeo, y cuando inicia sesión (y si es correcto), este último se cierre y abra la aplicación real.
Cuando lo hago, en realidad el Form de login lo oculto, porque si lo cierro, se cierra toda la aplicación. Y lo que me sucede, es que cuando quiero abrir un Form hijo, me dice que no hay ningún MDI activo.
Les pongo el código que empleo para ver qué hago mal, o que me digan si es posible cómo podría hacerlo.
En el Form1 (el de login) hago lo siguiente:
Var
Form2:TForm2;
begin
//despues de un login exitoso
Form2:=TForm2.Create(self); //este es el Form MDI principal
Form2.show;
Visible := False; //oculto el Form de login (una chanchada!!!)
end;
En el Form2 (el MDI principal) hago lo siguiente:
procedure TForm2.Abrir1Click(Sender: TObject);
begin
TForm3.Create(self).Show; //creo el Form MDIChild
end;
Y al ejecutarse este último código me dice: "Cannot create form. No MDI forms are currently active."
Si alguien me ayuda, le agradezco.