Cita:
Empezado por roman
¿No estarás confundiendo? En una aplicación MDI el formulario padre tiene estilo (propiedad FormStyle) fsMDIForm y los formularios hijos tienen estilo fsMDIChild. El caso es que un formulario MDIChild siempre está visible por lo que apenas lo creas debería aparecer inmediatamente sin necesidad de Show o ShowModal.
// Saludos
|
Lo que te dice Roman es correcto. Otra de las cosas que podes hacer al definir un formulario de tipo MDIChild es removerlo de la lista de Auto-create Forms. Para hacer esto haces crt+shft+F11 (Proyect-->Option-->Forms) y pasas tu formulario MDIChild a la lista de Disponibles (la de la derecha).
En el boton que llamaria al formulario de mdiChild haces lo siguiente:
Código Delphi
[-]
procedure TfmPrincipal.Button1Click(Sender: TObject);
begin
if not Assigned(form1) then
form1 := Tform1.Create(Application);
form1.Show;
end;
por otro lado tendrías que modificar otros eventos del Formulario MDIChild
Código Delphi
[-]
procedure Tform1.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
Action := caFree;
end;
procedure Tform1.FormDestroy(Sender: TObject);
begin
form1 := nil;
end;
espero que esto te sirva. Saludos