Hola
Cuando haces un nuevo form delphi lo crea al inicio del programa, exactamente donde lo tienes ahora:
Código Delphi
[-]
begin
Application.Initialize;
Application.MainFormOnTaskbar := True;
Application.CreateForm(TForm3, Form3);
Application.CreateForm(TForm1, Form1);
Application.CreateForm(TForm2, Form2);
Application.CreateForm(TForm4, Form4);
Application.Run;
end.
Eso quiere decir que cuando arranca el programa se crearan los forms de una vez, asi con solo hacer un;
se mostrara el form 2 ya que se creo desde el inicio.
Esto tiene algunas ventajas, pero en la mayoria de los casos no.
Imaginate un programa con 100 forms que se creen desde el inicio, el arranque de ese programa sera muy lento, de ahi que algunos usan programitas que dicen ''se esta cargando''.
La ventaja con delphi es que te permite crear los forms cuando los necesites y liberarlos cuando no, esto se hace en:
Porject
Options (te saldra una pantalla)
En la paleta Forms estan todos los que hiciste, al lado izquierdo estan los que se autocrearan y al lado derecho los que crearas por tu cuenta.
Simplemente pasa los que quieras crear a la derecha.
Ahora para llamarlos no se podra usar un simple show ya que no se han creado, tendras que crearlos asi:
Código Delphi
[-]
Form2:=TForm2.Create(self);
try
Form2.ShowModal;
finally
Form2.Free;
end;
Como ves, se crea, se llama y se libera.
Pensaras que es mas trabajo pero cuando hagas muchos forms, reportes etc y el programa crezca veras la diferencia.
Yo me he acostumbrado a hacerlo asi y te aseguro que veras otras ventajas adicionales.
Pruebalo, no pasa nada.
Saludos