Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > Lazarus, FreePascal, Kylix, etc.
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 14-07-2013
aitorqrv aitorqrv is offline
Miembro
 
Registrado: abr 2007
Posts: 18
Poder: 0
aitorqrv Va por buen camino
abrir y cerrar form2 desde form1

Hola estoy intentando abrir y cerrar un form (form2) automáticamente.

Para abrir el form2 que ya he creado con anterioridad utilizo:
Código:
procedure TForm1.FormCreate(Sender: TObject);
begin
 TForm2.Create(Self).Show;

end;
Y para cerrarlo he intentado utilizar esto en el form2:
Código:
procedure TForm2.FormCreate(Sender: TObject);
begin
  Sleep(1000);
  form2.close;
end;
He buscado por internet otras alternativas de crear un form en tiempo de ejecución y de como cerrarlo pero no consigo cerrado. En el form2 he colocado un boton y al hacer un onclick si le pongo close; el form2 se cierra correctamente.

Estoy utilizando lazarus 1.0.10 para mac

Un saludo y muchas gracias.

Si quereis ver el código fuente lo tengo aquí:
Código:
https://docs.google.com/file/d/0B2ZO_lvYiBaUQ2doVVpsd1k4T0U/edit?usp=sharing
Responder Con Cita
  #2  
Antiguo 14-07-2013
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.037
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
No lo pongas en el oncreate, mejor prueba en el onactivate
Responder Con Cita
  #3  
Antiguo 14-07-2013
pedrolazarus pedrolazarus is offline
Miembro
NULL
 
Registrado: sep 2012
Posts: 91
Poder: 12
pedrolazarus Va por buen camino
http://www.clubdelphi.com/foros/showthread.php?t=4336
Responder Con Cita
  #4  
Antiguo 15-07-2013
Avatar de ozsWizzard
ozsWizzard ozsWizzard is offline
Miembro
 
Registrado: may 2004
Ubicación: Murcia
Posts: 190
Poder: 20
ozsWizzard Va por buen camino
¿En el TForm2.Create donde el dices que el objeto se llama Form2? Distinto sería si usas Application.CreateForm...
__________________
La Madurez se llama...
~~~Gaia~~~
Responder Con Cita
  #5  
Antiguo 15-07-2013
pedrolazarus pedrolazarus is offline
Miembro
NULL
 
Registrado: sep 2012
Posts: 91
Poder: 12
pedrolazarus Va por buen camino
Prueba esto, a mi me funciono, tambien funciona con destroy en ves de free, esto lo colocas en el boton del formulario 1 o donde desees. al cerrar el form2 simplemente se libera, espero no estar equivocado.

Código:
    with Tform2.Create(Application) do
    try
      Show;
    finally
      free;
    end;
Responder Con Cita
  #6  
Antiguo 17-07-2013
Avatar de ozsWizzard
ozsWizzard ozsWizzard is offline
Miembro
 
Registrado: may 2004
Ubicación: Murcia
Posts: 190
Poder: 20
ozsWizzard Va por buen camino
Cita:
Empezado por pedrolazarus Ver Mensaje
Prueba esto, a mi me funciono, tambien funciona con destroy en ves de free, esto lo colocas en el boton del formulario 1 o donde desees. al cerrar el form2 simplemente se libera, espero no estar equivocado.

Código:
    with Tform2.Create(Application) do
    try
      Show;
    finally
      free;
    end;
Eso sería con Showmodal, no con show. Tal y como está ahí se abriría y cerraría el formulario de seguida.
__________________
La Madurez se llama...
~~~Gaia~~~
Responder Con Cita
  #7  
Antiguo 17-07-2013
pedrolazarus pedrolazarus is offline
Miembro
NULL
 
Registrado: sep 2012
Posts: 91
Poder: 12
pedrolazarus Va por buen camino
NO, se abre el formulario y funciona correctamente, luego al tu cerrarlo se libera, yo lo probe, ¿Tu lo probaste?
Responder Con Cita
  #8  
Antiguo 17-07-2013
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola ozsWizzard.

Otra opción es usando un TTimer (pestaña System) en Form2.

Form1:
Código Delphi [-]
...
implementation

uses Unit2;

...

begin
  TForm2.ShowForm; 
end;    
...

Form2:
Código Delphi [-]
  
...
  TForm2 = class(TForm)
    Timer1: TTimer;
    procedure FormCreate(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
  private
  public
    class procedure ShowForm;
  end;              
...
implementation

procedure TForm2.FormCreate(Sender: TObject);
begin
  Timer1.Enabled  := False;
  Timer1.Interval := 2000;  // milisegundos
  Timer1.Enabled  := True;
end;

class procedure TForm2.ShowForm;
begin
  if not Assigned(Form2) then
    Form2 := TForm2.Create(nil);
  Form2.Show;  // o ShowModal
end;

procedure TForm2.Timer1Timer(Sender: TObject);
begin
  Close;
end;

procedure TForm2.FormDestroy(Sender: TObject);
begin
  Form2 := nil;
end;

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #9  
Antiguo 18-07-2013
Avatar de ozsWizzard
ozsWizzard ozsWizzard is offline
Miembro
 
Registrado: may 2004
Ubicación: Murcia
Posts: 190
Poder: 20
ozsWizzard Va por buen camino
Cita:
Empezado por pedrolazarus Ver Mensaje
NO, se abre el formulario y funciona correctamente, luego al tu cerrarlo se libera, yo lo probe, ¿Tu lo probaste?
No me hacía falta probarlo para saber que tengo razón, aún así, lo he probado una vez más para comprobar que tengo yo razón.

El Show muestra el formulario y continua la ejecución, de toda la vida. El Showmodal es la instrucción que hasta que no "acabes" con el formulario mostrado, no devuelve la ejecución a donde se ha mostrado el formulario.

Ahora que lo he probado, a pesar de saber que tengo razón, pruébalo tú
__________________
La Madurez se llama...
~~~Gaia~~~
Responder Con Cita
  #10  
Antiguo 18-07-2013
Avatar de ozsWizzard
ozsWizzard ozsWizzard is offline
Miembro
 
Registrado: may 2004
Ubicación: Murcia
Posts: 190
Poder: 20
ozsWizzard Va por buen camino
Cita:
Empezado por ecfisa Ver Mensaje
Hola ozsWizzard.
Yo no he preguntado nada pero gracias igualmente, jejeje
__________________
La Madurez se llama...
~~~Gaia~~~
Responder Con Cita
  #11  
Antiguo 18-07-2013
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Cita:
Empezado por ozsWizzard Ver Mensaje
Yo no he preguntado nada pero gracias igualmente, jejeje
Es cierto..., perdón por el despiste

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #12  
Antiguo 18-07-2013
pedrolazarus pedrolazarus is offline
Miembro
NULL
 
Registrado: sep 2012
Posts: 91
Poder: 12
pedrolazarus Va por buen camino
Cita:
Empezado por ozsWizzard Ver Mensaje
No me hacía falta probarlo para saber que tengo razón, aún así, lo he probado una vez más para comprobar que tengo yo razón.

El Show muestra el formulario y continua la ejecución, de toda la vida. El Showmodal es la instrucción que hasta que no "acabes" con el formulario mostrado, no devuelve la ejecución a donde se ha mostrado el formulario.

Ahora que lo he probado, a pesar de saber que tengo razón, pruébalo tú

si lo siento, lo tenia era en modal.
Responder Con Cita
  #13  
Antiguo 05-09-2013
aitorqrv aitorqrv is offline
Miembro
 
Registrado: abr 2007
Posts: 18
Poder: 0
aitorqrv Va por buen camino
Hola perdón por la demora pero he tenido problemas técnicos y vacaciones de por medio...

He seguido lo que habéis ido comentando a lo largo de este hilo, pero no consigo echarlo andar, no se si alguno de vosotros podría subir algún lado el codigofuente completo para poder analizarlo y compararlo con lo que yo estoy haciendo y ver cual es mi error o tomarlo como referencia.

Gracias, un saludo.
Responder Con Cita
  #14  
Antiguo 06-09-2013
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Cita:
Empezado por aitorqrv Ver Mensaje
Hola perdón por la demora pero he tenido problemas técnicos y vacaciones de por medio...

He seguido lo que habéis ido comentando a lo largo de este hilo, pero no consigo echarlo andar, no se si alguno de vosotros podría subir algún lado el codigofuente completo para poder analizarlo y compararlo con lo que yo estoy haciendo y ver cual es mi error o tomarlo como referencia.

Gracias, un saludo.
Hola aitorqrv.


Saludos
Archivos Adjuntos
Tipo de Archivo: zip aitorqrv.zip (126,4 KB, 11 visitas)
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #15  
Antiguo 07-09-2013
aitorqrv aitorqrv is offline
Miembro
 
Registrado: abr 2007
Posts: 18
Poder: 0
aitorqrv Va por buen camino
Muchas gracias por el fichero, lo acabo de compilar y probar y me funciona correctamente. Ahora lo tengo que analizar y ver donde esta mi error.

Un saludo.
Responder Con Cita
  #16  
Antiguo 20-12-2013
Bobrcl Bobrcl is offline
Registrado
NULL
 
Registrado: dic 2013
Posts: 1
Poder: 0
Bobrcl Va por buen camino
Muchas gracias, estaba buscando como abrir una ventana para hacer login, y este foro me dió muchas luces. elegí utilizar ShowModal.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Dejar siempre visible Form2 que se llama desde Form1 yevabas Varios 1 11-05-2013 00:45:40
acceder al form1 desde el form2. petete2008 OOP 2 08-02-2012 20:29:59
Problemas con Form2.Parent=Form1; Duc Varios 5 07-04-2009 18:34:41
form2 cerrar el form1 ingabraham Varios 6 07-01-2009 19:11:13
Mantener Form1 siempre detrás de Form2 Gorka Varios 1 13-10-2004 13:13:48


La franja horaria es GMT +2. Ahora son las 17:16:59.


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