Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Desarrollo en Delphi para Android
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy


Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 07-04-2017
jhonalone jhonalone is offline
Miembro
 
Registrado: sep 2007
Ubicación: Madrid
Posts: 547
Poder: 17
jhonalone Va por buen camino
Hola, de nuevo Agustín.

He actualizado el SDK que era el 24.3.3 32bit a la versión 25.2.5 32bit, que es la más nueva que me ha dejado el SDKManager.

Y el problema sigue igual, (o peor... porque creo que antes no me daba el problema en los TEdit y ahora me da el mismo problema)

Me estoy acostumbrando a resolver estos "problemas" de Delphi con imaginación y "chapucería".
He mirado los links que me dejaste de Embarcadero y he comprobado, que hay más de un problema con los teclados. Como tú decías se parecen, pero no son igual que el mío. Incluso algunos son peor. El cursor se vuelve loco y vuelve al principio, o escribe texto no tecleado. Bueno, a mí me escribe texto no tecleado, pero al fin y al cabo el problema es que repite lo que había tecleado hasta el momento.

Intentaré implementar una función el evento OnKeyUp de los memos y de los edits para resolver el problema de forma "chapucera" si no hay otra solución por parte de Embarcadero.

Realmente los problemas que he visto en los links que me dejaste, están también sin resolver.
Así que no tengo muchas esperanzas.

Saludos muy cordiales y gracias por tus esfuerzos.
__________________
"Pedid y se os dará; buscad y hallaréis ..." (Lc 11,9-10)
"...si no tengo caridad, nada soy..." (1 Cor 13,1-13)
Responder Con Cita
  #2  
Antiguo 24-07-2017
jhonalone jhonalone is offline
Miembro
 
Registrado: sep 2007
Ubicación: Madrid
Posts: 547
Poder: 17
jhonalone Va por buen camino
Hola a todos de nuevo.
Los enanos del circo de Delphi siguen creciendo.
En la versión 6.0.1 de android, no basta con que TMemo se haya vuelto literalmente LOCO, según lo que precede en este hilo.
Acabo de observar una nueva DESGRACIA? para los programas android generados con Delphi.

A ver si sé explicarme:
Los dispositivos Samsung (son los que yo utilizo) disponen de un botón que está por debajo de la pantalla y en el centro del dispositivo. Sirve para activar el terminal si se ha desactivado (apagado la pantalla) cuando llevas un tiempo sin usarlo. Esto está muy bien para prolongar la duración de la batería.

En otro hilo anterior, ya expliqué los problemas que habían surgido con la versión 6.0.1 de android.
Pues había cambiado la funcionalidad, tanto de este botón central como del sensor de dos rallitas dentro de un cuadrado que está a la izquierda de dicho botón.

Bueno, pues el nuevo INCONVENIENTE, que he observado consiste en esto:
En versiones anteriores y en ésta (6.0.1 que, acertadamente, le han puesto el nombre de Marshmallow. Y efectivamente es "mucho márs malou") (perdón por el chiste porque no tiene ninguna gracia) digo que en las versiones anteriores y en ésta cuando pulsas brevemente este botón central, ocultas el programa que estás utilizando, para poder hacer una llamada o cualquier otra cosa.

En versiones anteriores, cuando volvías a pulsar de nuevo este botón te aparecían en pantalla los programas que tenías abiertos. Si pulsabas brevemente sobre cualquiera, volvías a retomar el programa en la situación que lo dejaste (incluídos los generados por Delphi).

En la versión a la que no estamos refiriendo, si pulsas el botón central te aparece Google. Para que aparezcan los programas que estaban "minimizados" tienes que pulsar en el sensor a la izquierda del botón central, (que ahora se representa por dos rectángulos superpuestos, simulando lo que representa: ventanas en cascada).

Bueno, pues aparecen todos los programas que tienes minimizados en una cascada de ventanas.

Y aquí está el problema:

Si seleccionas cualquier aplicación que no haya sido generada con Delphi, la retomas donde la dejaste.

Pero si eliges una que ha sido generada por Delphi... ¡¡SORPRESA!! La aplicación se reinicia y arranca desde el principio, como si la hubieras llamado pulsando su icono.

Perdón por haberme alargado tanto, pero no sabía explicarlo mejor. Si aún no se entiende, lo siento.

Como siempre, solicito alguna ayuda (si es posible).

Gracias por leerme y saludos a todos.
__________________
"Pedid y se os dará; buscad y hallaréis ..." (Lc 11,9-10)
"...si no tengo caridad, nada soy..." (1 Cor 13,1-13)

Última edición por jhonalone fecha: 24-07-2017 a las 17:21:29.
Responder Con Cita
  #3  
Antiguo 24-07-2017
Avatar de TOPX
TOPX TOPX is offline
Miembro
 
Registrado: may 2008
Ubicación: Bogotá
Posts: 527
Poder: 17
TOPX Va camino a la fama
Cita:
Empezado por jhonalone Ver Mensaje
Si seleccionas cualquier aplicación que no haya sido generada con Delphi, la retomas donde la dejaste.

Pero si eliges una que ha sido generada por Delphi... ¡¡SORPRESA!! La aplicación se reinicia y arranca desde el principio, como si la hubieras llamado pulsando su icono.
-
__________________
"constructive mind, destructive thoughts"
Responder Con Cita
  #4  
Antiguo 24-07-2017
jhonalone jhonalone is offline
Miembro
 
Registrado: sep 2007
Ubicación: Madrid
Posts: 547
Poder: 17
jhonalone Va por buen camino
Muchas gracias TOPX, por interesarte en ayudarme.

A la vista está que no soy un experto programador.
He visto el código de StackOverflow, pero no sé cómo implementarlo para conseguir evitar que se reinicen las apps al intentar ponerlas de nuevo en primer plano. No quiero parecer más burro de lo que soy pero el código referido creo que no me sirve más que para saber la situación de mi aplicación.
Código Delphi [-]
uses FMX.Types, FMX.Platform;

function TForm1.HandleAppEvent(AAppEvent: TApplicationEvent; AContext: TObject): Boolean;
begin
  case AAppEvent of
    TApplicationEvent.FinishedLaunching:    Log.d('Launched.');
    TApplicationEvent.BecameActive:         Log.d('Gained focus.');
    TApplicationEvent.EnteredBackground:    Log.d('Now running in background.');
    TApplicationEvent.WillBecomeForeground: Log.d('Restoring from background.');
    TApplicationEvent.WillBecomeInactive:   Log.d('Going to lose focus.');
    TApplicationEvent.WillTerminate:        Log.d('Quitting the application.');
    TApplicationEvent.LowMemory:            Log.d('Device running out of memory.');

    // iOS only
    TApplicationEvent.TimeChange:           Log.d('Significant change in time.');
    TApplicationEvent.OpenURL:              Log.d('Request to open an URL.');
  end;

  Result := True;
end;

procedure TForm11.FormCreate(Sender: TObject);
var
  aFMXApplicationEventService: IFMXApplicationEventService;
begin
  if TPlatformServices.Current.SupportsPlatformService(IFMXApplicationEventService,
    IInterface(aFMXApplicationEventService))
  then
    aFMXApplicationEventService.SetApplicationEventHandler(HandleAppEvent)
  else
    Log.d('Application Event Service not supported.');
end;
¿Puedes ayudarme?
Un saludo. Gracias.
__________________
"Pedid y se os dará; buscad y hallaréis ..." (Lc 11,9-10)
"...si no tengo caridad, nada soy..." (1 Cor 13,1-13)

Última edición por jhonalone fecha: 24-07-2017 a las 18:40:04.
Responder Con Cita
  #5  
Antiguo 24-07-2017
Avatar de TOPX
TOPX TOPX is offline
Miembro
 
Registrado: may 2008
Ubicación: Bogotá
Posts: 527
Poder: 17
TOPX Va camino a la fama
En el artículo que refieren en esa respuesta ~ https://community.embarcadero.com/bl...lphi-xe5-40067 , hay una descripción un poco más detallada de la ubicación de ese código.

A grosso modo sería:
  1. Crea una función que reciba un TApplicationEvent y un TObject, para que sea el manejador de eventos.
  2. Asigna esa función con el método SetApplicationEventHandler de una IFMXApplicationEventService.
  3. En la implementación de esa función prueba con los diferentes valores del TApplicationEvent, para identificar el que quiere detectar.
  4. Después de que sepa cuáles son los valores a detectar, al "minimizar" guarda el estado y al "seleccionar" carga el estado guardado. Es posible que le sirvan EnteredBackground y BecameActive para ello.
-
__________________
"constructive mind, destructive thoughts"
Responder Con Cita
  #6  
Antiguo 24-07-2017
jhonalone jhonalone is offline
Miembro
 
Registrado: sep 2007
Ubicación: Madrid
Posts: 547
Poder: 17
jhonalone Va por buen camino
Gracias, de nuevo TOPX.

De tus recomendaciones, los tres primeros puntos, con más o menos esfuerzo creo que no tendría problema al implementarlos.

La "madre del cordero" (como decimos aquí), o sea lo principal está en el punto 4.

¿Qué guardas? ¿Cómo lo guardas? ¿Dónde lo guardas? (Esto sería menos problema)
¿Qué lees? ¿Cómo y cuándo lo lees? ¿Cómo devuelves el programa al estado anterior?
Tendrías que guardar y leer todos los valores de las variables globales, que pueden haber sido modificados antes de "minimizar".

Créeme no es una tarea sencilla.

Sabemos que Delphi tiene el evento onSaveState, (que yo no he utilizado nunca), entre otras cosas, porque las versiones anteriores a MashMallow de Android no destruían la aplicación al ocultarla. Pero me parece que no "salva el estado" de la aplicación automáticamente, con lo que volvemos al problema del punto 4.

Observando que hay aplicaciones como WhatsApp que permanecen activas y no se reinician aunque las mandes a segundo plano, me da que pensar que debe haber una solución más sencilla.

Gracias por tu interés.

Puedes contestarme en el hilo que he creado para este asunto.

Saludos cordiales.
__________________
"Pedid y se os dará; buscad y hallaréis ..." (Lc 11,9-10)
"...si no tengo caridad, nada soy..." (1 Cor 13,1-13)
Responder Con Cita
  #7  
Antiguo 21-09-2017
Avatar de jacfox
jacfox jacfox is offline
Registrado
 
Registrado: jul 2006
Posts: 7
Poder: 0
jacfox Va por buen camino
Buenas jhonalone, ¿Has conseguido solucionar el problema de los memo en delphi?
Estoy haciendo pruebas con aplicaciones en android y me esta pasando lo mismo que a ti.
Saludos.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
problema con base de datos+android+delphi xe6 jgutti Desarrollo en Delphi para Android 7 22-08-2016 20:32:24
Problema con MySSHIOHandler en plataforma Android javierhrc Conexión con bases de datos 2 15-08-2016 18:25:10
Problema con Android 5.0 y delphi xe8 Galahad FireMonkey 8 12-10-2015 17:57:50
Datasnap y cliente android - Problema al conectar vicens22 Desarrollo en Delphi para Android 8 04-12-2013 10:13:28
Pequeño problema con el componente tmemo gaska OOP 5 23-04-2004 12:52:36


La franja horaria es GMT +2. Ahora son las 23:51:52.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi