Ver Mensaje Individual
  #4  
Antiguo 25-10-2004
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Reputación: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
DoClose es una variable booleana que tienes que declarar tú (por ejemplo en la sección private del formulario) y que inicializas a false (no es estrictamente necesario ya que por defecto su valor será false).

Cuando se ejecuta el evento OnCloseQuery, si DoClose es false...

... ¡oops! hay un error. El evento debe ser:

Código Delphi [-]
CanClose := DoClose;
 
if not CanClose then
begin
  Hide;
  RxTrayIcon.Active := true;
end;

Ahora sí. Cuando se ejecuta este evento, si DoClose es false, entonces CanClose será false también por lo que el formulario no se cerrará y en su lugar se ocultará y se activará el icono.

Si no usaras esta variable auxiliar y pusieras siempre CanClose := false, nunca podrías cerrar el formulario. El item "Salir" del PopupMenu está entonces para que ajustes DoClose a true en su evento OnClick:

Código Delphi [-]
DoClose := true;
Close;

Así, cuando la llamada a Close genere el evento OnCloseQuery, DoClose será ahora true y por tanto también CanClose permitiendo que se cierre el formulario.

// Saludos
Responder Con Cita