Ver Mensaje Individual
  #3  
Antiguo 15-11-2005
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is online now
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - Espańa
Posts: 19.437
Reputación: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por gilberto_1126
...Entonces las mando llamar: FProximo.Show;

..y cuando la cierro: Action:=caFree;

Alguien sabra por que????'
Bueno, tiene un poco de lógica; Piensa que con un un objeto de tipo Form que se usa varias veces en una aplicación hay dos formas de trabajar (la primera creando y destuyendo todas las veces y la otra creando y destruyendo una sóla vez y entre medio ocultando y visualizando):
MODO1:
(1) Crear
(2) Visualizar
(3) Destruir
...
(1) Crear
(2) Visualizar
(3) Destruir
...

o como alternativa

MODO2:
(1) Crear
(2) Visualizar
(3) Ocultar
...
(2) Visualizar
(3) Ocultar
...
(2) Visualizar
(3) Ocultar
...
(4) Destruir

Tu problema creo que viene porque estás haciendo ésto:

(1) Crear (aunque no lov creas tú lo debe hacer el proyecto en la sección de autocreate)
(2) Visualizar (con el Show)
(3) Destruir (con el caFree)
...
(2) Visualizar (PETA!!!!)

Es porque la segunda vez que visualizas el Form no estás creado.

SOLUCIÓN 1:
No utilizar caFree, sino caHide, para trabajar en el MODO2
SOLUCION 2:
Eliminar el form de la sección de Autocreate Form (en las opciones del proyecto) y cada vez que vayas a visualizarlo, crearlo primero, utilizando:

Código Delphi [-]
   Form1 := TForm1.Create(Application);
   Form1.Show;  (como haces ahora)

Espero haberme explicado decentemente bien.

Un saludo.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita