Saludos
Ahora tengo el siguiente problema, mi aplicacion crea los formularios segun la opcion que el usuario seleccione, ademas los tengo dentro de uan BPL por modulo es decir Ejemplo [Contabilidad,Facturacio, Etc] esto esta trabajando perfectamente, el problema es que cuando el usuario tiene abierto por lo menos 1 formulario y trata de cerrar la aplicacion yo coloque en el evento OncloseQuery lo Siguiente;
Código Delphi
[-]
procedure TMenu.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
Var
idx:Integer;
Begin
Canclose:=False;
if Application.MessageBox('Desea Salir del Sistema ...?','Salir',
MB_YESNO+MB_ICONQUESTION+MB_DEFBUTTON2)=IdYes Then
Begin
for idx:=Screen.FormCount-1 downto 1 do
Begin
if TForm(Screen.Forms[idx]).Name<>'' Then
If TForm(Screen.Forms[idx]).Owner=Self Then
TForm(Screen.Forms[idx]).Close;
End;
Canclose:=True;
end;
end
Cuando efectua este procedimiento, el sistema se queda en un Loop, y da error de memoria, Estoy utilizando Delphi 2009 y me percato que pareciera que no esta haciendole Free al formulario Abierto, pero yo tengo en los formularios en el evento Close;
Código Delphi
[-]
procedure TFBase.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action:=caFree;
end;
Ya que todos mis Formularios Heredan de un Formulario Base;
Alguna Sugerencia ??