Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Delphi-News aus aller Welt (https://www.delphipraxis.net/58-delphi-news-aus-aller-welt/)
-   -   Gestion de eventos en una aplicación (https://www.delphipraxis.net/199927-gestion-de-eventos-en-una-aplicaci%F3n.html)

DP News-Robot 2. Mär 2019 20:30

Gestion de eventos en una aplicación
 


Cuando programamos una app, necesitamos gestionar diferentes eventos que suceden durante su ejecución.
Por ejemplo, si la memoria del dispositivo es baja, tendríamos que avisar al usuario y posteriormente cerrar la app (en el caso de que tengamos una base de datos abierta, para evitar el cierre inesperado de la misma)
Otro suceso que necesitamos conocer, es saber cuando nuestra app se ejecuta en background, ya que si esto sucede y estamos utilizando el GPS, éste último dejaría de actualizar las coordenadas.
También nos interesa saber cuando el usuario cierra la app, ya que deberíamos cerrar en ese momento las bases de datos abiertas.
Para solucionar este tema Delphi nos ofrece una serie de procedimientos para controlarlo, que están en la unit FMX.Platform.TApplicationEvent.


TApplicationEvent = (FinishedLaunching, BecameActive, WillBecomeInactive, EnteredBackground, WillBecomeForeground, WillTerminate, LowMemory, TimeChange, OpenURL);

Para utilizarlo creamos en primer lugar una variable global llamada AppEventSvc

var
AppEventSvc: IFMXApplicationEventService;

En el oncreate del Form escribimos lo siguiente:

if TPlatformServices.Current.SupportsPlatformService( IFMXApplicationEventService, IInterface(AppEventSvc)) then

AppEventSvc.SetApplicationEventHandler(AppEvent);


y a continuación escribimos el procedimiento que va a manejar los eventos:

function TForm1.AppEvent(AAppEvent: TApplicationEvent; AContext: TObject): Boolean;

begin

Result := True;

case AAppEvent of

TApplicationEvent.WillBecomeInactive:
//procedimiento que se ejecuta cuando la app este inactiva
;
TApplicationEvent.EnteredBackground: //procedimiento que se ejecuta cuando la app se ejecute en background ;
TApplicationEvent.WillTerminate: //procedimiento que se ejecuta cuando la app se va a cerrar ;
end;
end;

Tienen mas información el el docwiki de Embarcadero Suscribirse :
http://feeds.feedburner.com/~ff/Delp...?d=yIl2AUoC8zA http://feeds.feedburner.com/~ff/Delp...?d=dnMXMwOfBR0 http://feeds.feedburner.com/~ff/Delp...?d=qj6IDK7rITs http://feeds.feedburner.com/~ff/Delp...?d=7Q72WNTAKBA
http://feeds.feedburner.com/~r/Delph...~4/HzmBB1ycVl8

Weiterlesen...


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:20 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz