PDA

Ver la Versión Completa : Cerrar Form "fuerza bruta"


MaMu
22-05-2007, 19:00:23
Tengo un Form, en el cual pregunto si quiero cerrarlo o no, mediante la asignacion del CanClose a true o false, en el evento OnCloseQuery, mi pregunta es, existe una forma de cerrarlo saltando eso? Pense en el
Application.Terminate pero pasa que el Form que quiero cerrar no es el principal, sino que es otro cualquier que ejecuto Form1.ShowModal.

Saludos y Gracias

seoane
22-05-2007, 19:06:38
:confused: No te entiendo, primero creas un evento para manejar como se cierra el formulario y luego quieres saltártelo ??? entonces ¿para que lo creas?

De todas formas, se me ocurre algo como esto:

Form1.OnCloseQuery:= nil;
Form1.Close;

MaMu
22-05-2007, 19:13:01
:confused: No te entiendo, primero creas un evento para manejar como se cierra el formulario y luego quieres saltártelo ??? entonces ¿para que lo creas?


Porque, lo uso para cancelar las operaciones, pero cuando finalizo todo el proceso, ya no me sirve, seria ridiculo que habiendo terminado bien un proceso, pregunte si lo quiero cancelar :D .

Saludos y Gracias

maeyanes
22-05-2007, 19:59:50
Pues puedes crear una variable que indique si el proceso está ejecutándose...

Entonces en el evento OnCloseQuery haces algo como esto:


procedure TFormProceso.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
CanClose := not InProcess or PreguntarSiQuieroCancelar
end;


Lo que haces aquí es que si no estás dentro del proceso, not InProcess devuelve True y la forma se cierra... si estás en el proceso, entonces preguntas si quieres o no cancelar...


Saludos...