Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Problema al Cerrar Form (https://www.clubdelphi.com/foros/showthread.php?t=31138)

serhasae 28-04-2006 18:44:59

Problema al Cerrar Form
 
A ver tengo problemas al tener varios forms de forma modal, lo que suelo hacer es ir haciendolos invisibles y luego cuando salgo del mismo form cerrarlos pero tengo un problema, tengo un boton en el formulario
ficha para salir y desde el cierro los dos formularios anteriores abiertos pero
invisibles.


Fconsultas.close;
Fbuscar.close;
Fficha.close;


pero cuando cierro con la x, no hace nada, ni entra en el evento onclose ni nada. Alguien sabe como puedo arreglarlo para que tambien me cierre con la x. gracias.

javicho_villa 28-04-2006 19:02:54

Estas recaragndo la memoria
 
Hola:
Mira segun mi humilde concepto, creo que deberias crear los objetos y despues de usarlos destruirlos, por ejemplo:

Código Delphi [-]
procedure xxx
var MiFormulario:TForm1;
begin
  MiFormulario := TForm1.create(self); ///--- Creas el Objeto
  MiFormulario.showmodal;                 ///--- Muestras en forma Modal
  MIFormulario.Free;                         ///--- Despues lo destruyes
end;

Una ultima cosita para ocultar un formaulario no es con el evento close sino con el evento hide.

Saludos.

serhasae 28-04-2006 20:41:16

A ver para ocultar el formulario utilizo visible a false que es equivalente a hide.
El problema reside en que si tu muestras un formulario y desde la unit del formulario muestras otro formulario de forma modal, ocultas el primero con visible a false ya que si intentas cerrarlo no te deja ya que estas en la misma unidad. Entiendes a que me refiero. Con respecto a crear un formulario de forma dinamica, si hago eso no se me pasan los eventos que tengo ya definidos en mi formulario. Gracias.

javicho_villa 28-04-2006 21:02:33

Puedes explicar para que quieres hacerlo modal
 
Si qiueres trabajar varios formularios a la ves oculatandolos entonces no utilces el showmodal sino simplemente el show de ahi lo ocultas con el evento hide.

un concejo quitale los iconos de cerrar de la ventana o minimizar para que todo lo controles por codigo.

si tu estas en un formulario y quieres controlar otro tienes que poner:
Código Delphi [-]
implementation
uses Form2;

debajo de implementation, y cuando quieras cambiar cualquier atributo de los objetos de ese formulario solo lo tienes que hacer con referencia al objeto asi.
Código Delphi [-]
  form2.edit1.text := 'Hola';


La franja horaria es GMT +2. Ahora son las 06:26:28.

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