![]() |
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 ![]() ![]() ![]() ![]() ![]() http://feeds.feedburner.com/~r/Delph...~4/HzmBB1ycVl8 ![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:55 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz