Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Cambiar el orden de los forms (https://www.clubdelphi.com/foros/showthread.php?t=72236)

raciellc 05-02-2011 03:03:44

Cambiar el orden de los forms
 
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:
Cita:

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:
Código Delphi [-]
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:
Código Delphi [-]
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:
Código Delphi [-]
uses Unit3;
...
  with TForm3.Create(Application)do
  begin
    Visible:= False;
    ShowModal;
  end;
...

Un saludo.


La franja horaria es GMT +2. Ahora son las 20:41:37.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi