Ver Mensaje Individual
  #12  
Antiguo 30-01-2006
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Reputación: 29
Lepe Va por buen camino
Cita:
Empezado por walito
Bien, cuando arranca el programa se crean todos los form y luego los cierro(close) a todos los MDIChild, osea q ya estan creados.
Me extraña un poco esa afirmación. Un mdiChild no puede ocultarse así por las buenas, solo minimizarse o destruirse. ¿Los tienes minimizados?

- Si estan minimizados, no tiene sentido que funcione mal.
- si no están minimizados, entonces realmente no estan creados,es decir, se crearon, despues se destruyeron, pero el Form queda con una referencia inválida, de ahí que muestre el valor que pille en memoria.... pero tarde o temprano debería dar un Access Violation.

En el el formClose de cada ventana, añade:
Código Delphi [-]
procedure Tform2.Close(....);
begin
  action := cafree;
  form2 := nil;
end;
Eso para el form2 y 3

Si al hacer ese cambio ves que tu programa empieza a dar Access Violation cada dos por tres, entonces, es que debes estudiar mejor como crear y destruir las ventanas.

Haz este pequeño experimento y nos comentas

saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita