Hola,
El siguiente código:
procedure TForm1.Button1Click(Sender: TObject);
var
NuevoForm: TForm;
NuevoBoton: TButton;
begin
NuevoForm := TForm.Create(nil);
NuevoForm.Parent := nil;
NuevoForm.Left := 100;
NuevoForm.Top := 100;
NuevoForm.width := 500;
NuevoForm.Height := 400;
NuevoForm.Caption:='Nuevo Formulario';
NuevoForm.Name := 'MiForm';
NuevoForm.FormStyle:= fsStayOnTop;
NuevoForm.Show;
NuevoBoton := TButton.Create(NuevoForm);
NuevoBoton.Parent := NuevoForm;
NuevoBoton.Left := 100;
NuevoBoton.Top := 100;
NuevoBoton.Caption:='Clickme';
NuevoBoton.Name := 'MiBoton';
end;
Crea un Nuevo Formulario con un Botón dentro, todo en tiempo de ejecución.
1.- ¿Cómo DESTRUYO (Free=donde coloco?) estos objetos al cerrar la 2da ventana (NuevoForm) creada?. Lo que pasa es que cada vez que clicko el Button1 me crea muchos Forms incluido su botón. Lo que necesito es crear una sola vez, por mucho que le dé n-veces click al Button1.
2.- No recuerdo cual es la propiedad de un Form que por ejemplo AL CREAR el 2do Form:
.....2a) ¿Cómo ubico por encima del principal?, es acaso...FormStyle:= fsStayOnTop? y
.....2b) ¿Cómo deshabilito el Form principal mientras esté activo el 2do Form hasta que lo cierre?