PDA

Ver la Versión Completa : Cerrar un form


lunicirus
13-10-2012, 21:12:35
Hola
Estoy tratando de crear un bototn siguiente, que me lleve de un form a otro, cuando lo oprimo si me crea y visualiza el nuevo form pero no me cierra el anterior.

//Cierra la ventana FormDisenoSOGH
Self.Close;

//Abre la ventana FormParametrosGenerales
if FormDisenoParaGeneral = nil then
FormDisenoParaGeneral:= TFormDisenoParaGeneral.Create(Self);
FormDisenoParaGeneral.ShowModal;

gracias!

Gerson12
13-10-2012, 21:39:43
Hola amigo bueno segun lo que entendi puedes hacer esto :

begin
Form1.Hide;// bueno aca solo lo ocultas ya que si el formulario 1 es principal de todo el programa se cerrara todo el programa
Form2.Show;
end;

Espero que te sirva cuidate

lunicirus
13-10-2012, 21:51:39
Hola,
no es que no es el principal entonces si lo quiero cerrar y al form 2 ponerle un boton de anterior que me devuelva.
Gracias

Gerson12
13-10-2012, 21:56:46
ose tu quieres cerrar el form 1 y que al crearse el form2 aparesca un boton para que aparesca el formr1

Pd: Amigo explicate un poquito mejor ^^

lunicirus
13-10-2012, 23:03:14
Bueno, es un programa cuando oprimo el boton diseñar me sale un form1.

El form1 tiene dos botones: cancelar y siguiente.
el cogido de cancelar es

procedure TForm1.BitBtnCancelarClick(Sender: TObject);
begin
Self.close
end;


el codigo de siguiente es:

procedure TForm1.BitBtnSiguienteClick(Sender: TObject);
begin
//Cierra la ventana Form1
// Self.Close;

//Abre la ventana Form2
if Form2 = nil then
Form2:= TForm2.Create(Self);
Form2.ShowModal;
end;


El form 2 tiene otros dos botones: finalizarDiseno y anterior:
el codigo de anterior es:

procedure TForm1.BitBtnAnteriorClick(Sender: TObject);
begin
Form2.ShowModal;
end;


Pero el form1 no se esta cerrando cuando oprimo siguiente, y cuando oprimo anterior me sale una excepcion.

ecfisa
14-10-2012, 01:34:27
Hola lunicirus.

No termino de entender de forma clara lo que estas buscando. Pero considerando lo que mencionas mas arriba, que no se trata del formulario principal, proba si te sirve de este modo.

Form1: (no principal)

procedure TForm1.BitBtnSiguienteClick(Sender: TObject);
begin
Visible:= False;
if not Assigned(Form2) then
Form2:= TForm2.Create(Self);
Form2.ShowModal;
Visible:= True;
end;


Form2:

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


Saludos.