PDA

Ver la Versión Completa : Cambiar el orden de los forms


raciellc
05-02-2011, 03:03:44
Hola Muchachos, necesito una ves mas de su ayuda.

tengo un proyecto con tres forms, 1, 2, 3.

pero bueno, delphi siempre jala el uno por default, lo ke kiero hacer es ke cambie el orden, ke jale el form 3 por de falut al presionar el F9.

y a si me muestre el form 3 que es el de logueo...
Espero puedan ayudarme

Uso delphi 7

Gracias y Saludos

ecfisa
05-02-2011, 08:55:02
Hola raciellc.

Supongamos que tenés los tres forms en Autocreate-forms en este orden:

Form1
Form2
Form3 (el que deseas que se muestre primero)


Form1 es el Form principal y para que primero se muestre Form3 tenés que alterar el órden de creación en el proyecto.

Para hacer esto:
1)Quitar Form3 de Auto-create forms: Project -> Options -> Forms (pasarlo a Available forms)
2)Abrir proyecto: View -> Units -> Project1 (o el nombre de tu proyecto)

Deberías ver un código parecido a este:

program Project1;

uses
Forms,
Unit1 in 'Unit1.pas' {Form1},
Unit2 in 'Unit2.pas' {Form2},
Unit3 in 'Unit3.pas' {Form3};

{$R *.res}

begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.CreateForm(TForm2, Form2);
Application.CreateForm(TForm3, Form3);
Application.Run;
end.


Luego deberás alterar el órden de creación de este modo:

program Project1;

uses
Forms,
Unit1 in 'Unit1.pas' {Form1},
Unit2 in 'Unit2.pas' {Form2},
Unit3 in 'Unit3.pas' {Form3};

{$R *.res}

begin
//Crear y mostrar Form3
with TForm3.Create(Application)do
begin
Visible:= False;
ShowModal;
end;
// continuar
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.CreateForm(TForm2, Form2);
Form3.Free; // destruir y liberar memoria (una mejor opción: Action:= caFree en el evento OnClose de Form3)
Application.Run;
end.


Si querés mostrar Form3 nuevamente, tendrás que volver a utilizar el codigo:

uses Unit3;
...
with TForm3.Create(Application)do
begin
Visible:= False;
ShowModal;
end;
...


Un saludo.