Ver Mensaje Individual
  #1  
Antiguo 16-02-2004
tango01 tango01 is offline
Miembro
 
Registrado: jun 2003
Ubicación: Mar del Plata - Argentina
Posts: 46
Reputación: 0
tango01 Va por buen camino
Liberar formularios

hola gente tengo un problema.

tengo una aplicacion que crea en tiempo de ejecucion todos los forms menos el principal.

ahora, cuando el usuario cierra la sesion, de esta aplicacion, quiero liberar la todos los forms y además asignarles nil.

hasta ahora probe lo siguiente sin exito.
Código:
    tot := Application.ComponentCount -1;
    for i := 0 to tot do begin
      if (i < Application.ComponentCount) and (Application.Components[i] <> nil) and (Application.Components[i] is TForm) and (Application.Components[i].Name <> 'fPrincipal') then begin
         faux := (Application.Components[i] as tform);
         (Application.Components[i] as tform).Free;
         faux := nil;
      end;
    end;
mi problema es que no me toma la asignacion nil, entonces cuando quiero mostrar un formulario que fue liberado, cuando pregunto si es nil para saber si lo tengo que crear, la variable del formulario no es nil y me da errores de acceso de memoria. ...

como puedo resolver este problema?

gracias de antemando por su ayuda.
__________________
El secreto de la libertad está en no tener miedo.
Responder Con Cita