Hola de nuevo.
Creo que me quedé corto con la explicación anterior sin dar ni un mísero ejemplo...
Ejemplos para encapsular la creación/muestra de diferentes tipos de ventanas:
Código Delphi
[-]
procedure TForm1.MostrarVentanaModal(AClass: TFormClass);
begin
with AClass.Create(Application) do
try
ShowModal;
finally
Free;
end;
end;
procedure TForm1.MostrarVentanaNoModal(AClass: TFormClass);
var
Frm: TForm;
begin
Frm:= Application.FindComponent(Copy(AClass.ClassName,2,MaxInt)) as TForm;
if Assigned(Frm) then
Frm.Show
else
Frm.Create(Application);
end;
procedure TForm1.MostrarMDIChild(AClass: TFormClass);
var
i: Integer;
begin
for i:= 0 to Screen.FormCount -1 do
if Screen.Forms[i] is AClass then
begin
Screen.Forms[i].WindowState:= wsNormal;
Screen.Forms[i].BringToFront;
Exit;
end;
AClass.Create(Application);
end;
Saludos.