tango01
16-02-2004, 17:45:21
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.
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.
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.
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.