Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

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


Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 22-04-2017
jhonalone jhonalone is offline
Miembro
 
Registrado: sep 2007
Ubicación: Madrid
Posts: 571
Poder: 19
jhonalone Va por buen camino
Bien, David.
En lo de activar y desactivar el texto predictivo, no sé si se podrá poner, como en Delphi para Windows, en el evento de cierre de la aplicación, restituir los valores, ni sé si esto funcionaría en Android.

He preparado un vídeo con el comportamiento del TMemo y del TEdit, pues el problema es común para ambos. Podeis verlo aquí.

Intento subir el archivo APK aquí.

No puedo subir el archivo APK.
Mensaje: "Project1.zip:
Tu archivo de 6,66 MB bytes excede el límite del foro de 293,0 KB para este tipo de archivo."

Pero vamos es un proyecto tan simple como un TMemo, u TEdit y un Botón para salir.

Saludos.
__________________
"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 22-04-2017
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.142
Poder: 36
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola a todos,

Acabo de ver el vídeo, y, en efecto, parece que hay cierto comportamiento "extraño". Sin embargo, después de ver el vídeo, como digo, me gustaría comentar lo siguiente. Creo que no deberías preocuparte en absoluto de este problema. Lo digo completamente en serio. A no ser que tu aplicación sea extremadamente rara, yo seguiría adelante sin más. ¿Por qué? Muy sencillo. El comportamiento que muestra el "teclado predictivo" no me parece único para los componentes de Delphi. Personalmente, no uso el "teclado predictivo" en mi móvil, y, seguramente otras personas tampoco lo usan.

Ahora bien, suponiendo que usas el "teclado predictivo", creo que debes o puedes asumir este tipo de "rarezas". No sé si tiene solución, pero, tal vez sea el comportamiento normal de dicho teclado, y, por lo tanto, es inútil que tú te preocupes de este asunto, porque, no vas a poder sino "parchear" algo que acaso esté funcionando como se espera. Precisamente, yo no uso este tipo de teclados, porque, su comportamiento no me gusta, justamente, por lo que muestras en el vídeo: muchas veces, en lugar de ayudar resultan un incordio, y, por otro lado, tal vez sea menester "aprender" a usarlo.

Insisto en que mi respuesta es completamente seria después de haber visto su vídeo. Al fin y al cabo, su programa espera una entrada. El usuario no es tonto, y, si, por ejemplo, se le pide una dirección de correo, creo que en su programa (y también acaso en un posible servidor) dicha entrada debe ser validada en todo caso. El usuario debe ingresar un correo, y, el programa espera un correo. Si hay "rarezas" que vienen de un "teclado predictivo" o cualquier otro motivo, lo único que yo haría sería, en el caso de no poder validar la dirección de correo (o cualquier otra entrada), sería advertir al usuario.

Como digo, el usuario verá que está ingresando algo mal, y, por supuesto, lo corregirá, si es que realmente quiere usar el programa en cuestión.

P.D. Para otra vez, tal vez le interese echar un vistazo a la aplicación Mobizen. Esta aplicación cuenta con un "cliente" que puede instalarse en Android, por ejemplo, y, un "servidor" que se instala y ejecuta en Windows. Ambas aplicaciones permiten "conectar" el teléfono al ordenador, de modo que podemos ver la pantalla del teléfono en el ordenador, siendo ideal, por ejemplo, para hacer algún tipo de video como el que has hecho, pero, usando un teléfono de "verdad" y no un emulador.

P.D.2. En Windows tal vez podríamos estar pendientes de algún mensaje para cuando se cerrase nuestra aplicación. En Android no es exactamente así, pero, creo que antes hablé demasiado. Es decir, tal vez podríamos aprovechar el mensaje "On Background" (creo que se llama así) para volver atrás los posibles cambios hechos en cierta configuración del sistema. Sin embargo, sigo sin ver esto una buena idea por varios motivos. Si hay que cambiar la configuración del sistema, tal vez sería bien decírselo al usuario para que él mismo lo hiciese.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #3  
Antiguo 22-04-2017
jhonalone jhonalone is offline
Miembro
 
Registrado: sep 2007
Ubicación: Madrid
Posts: 571
Poder: 19
jhonalone Va por buen camino
Gracias de nuevo por tu interés y tus consejos, David.
Haré algunas puntualizaciones.

1.- A mí tampoco me gusta usar el texto predictivo, pero este comportamiento del terminal, sólo lo he visto en este terminal y en esta versión después de actualizar. Antes se comportaba normalmente, es decir no duplicaba la última palabra.

2.- Como tú bien sabes, cuando se hace una aplicación, se trata de facilitar todo lo posible al usuario, evitándole acciones innecesarias para él y evitando la mala imagen que esto produce. Claro que había pensado en poner el aviso al usuario. Fue lo primero que pensé. Es lo más fácil para mí. Pero yo tengo la fea costumbre de hacer mis aplicaciones para que puedan ser utilizadas por usuarios "como si fueran tontos". Esto, como sabes, implica mucho más trabajo para el programador.

3.- Ya estoy trabajando en un "parche" para resolver este problema. No sé si lo conseguiré. Si lo hago, lo publicaré en el foro para quien pueda tener el mismo problema que tengo yo.

4.- Según mis apreciaciones iniciales, todo apunta a la interacción entre Delphi y Android. Es decir, que Delphi está construido sobre unas bases de Firemonkey/Android, que ya han sido modificadas. (Vuelvo a decir: "tal vez es mi terminal el único que falla..." Ya veremos...)

5.- Respecto a tu primer P.D., he entrado en el link y el programa no es muy distinto del que yo he usado.que se puede bajar gratuitamente aqui.

6.- Respecto a tu segundo P.D.2, me gustaría saber en qué consiste esto de "On Background" o algo parecido a lo que te refieres. Yo usaría lo que estaba usando en Windows, o sea el evento "OnDestroy" de la Unit principal, que en windows me ha funcionado siempre.

Saludos.
__________________
"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
  #4  
Antiguo 22-04-2017
Avatar de AgustinOrtu
[AgustinOrtu] AgustinOrtu is offline
Miembro Premium
NULL
 
Registrado: ago 2013
Ubicación: Argentina
Posts: 1.858
Poder: 17
AgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en bruto
Pues yo opino lo mismo que jhonalone. Esto es un error de Delphi, ya que FMX provee una mala implementacion. Debe ser corregido por Embarcadero. Y los usuarios esperan un comportamiento determinado que todas las aplicaciones de la plataforma, mas o menos, siguen un mismo lineamiento.

A mi me sacas el texto predictivo y lanzo el telefono por la ventana, ya que no se escribir de otra manera; es mas yo uso la escritura gestual, no tipeo caracter a caracter. Seria totalmente estupido tener que modificar la configuracion del sistema, ya sea programaticamente o manualmente.

Esto me recuerda a las aplicaciones Windows que modifican la configuracion regional del sistema, y algunas hasta sin preguntar

Ahora, porque parece que jhonalone va "contra la corriente" y quiere sacar el texto predictivo? Pues simple, volvemos al primer punto, es un parche o workaround para que su aplicacion pueda funcionar

No he podido encontrar mucha mas informacion en la web. A mi lo unico que se me ocurre es que interceptes a mas bajo nivel los mensajes que le van llegando al memo, aunque no es tarea facil, ya que requiere de conocimientos de como funciona FMX, como se conecta con Android, y por supuesto tambien, como funciona Android internamente
Responder Con Cita
  #5  
Antiguo 22-04-2017
jhonalone jhonalone is offline
Miembro
 
Registrado: sep 2007
Ubicación: Madrid
Posts: 571
Poder: 19
jhonalone Va por buen camino
Gracias, Agustín.
Por un tiempo, he pensado que estaba SOLO contra el mundo.
Si tienes oportunidad, me gustaría que comprobaras en un terminal con 6.0.1 o superior reproduciendo con DELPHI DX Seattel lo que comento. Es crear una aplicación Multiplataforma, con un TMemo, un TEdit y (Si quieres) un botón para cerrarla. No te llevará más de 5 min. en total.
Luego me cuentas.
¿Has visto el vídeo?
Saludos.
__________________
"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
  #6  
Antiguo 23-04-2017
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.142
Poder: 36
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola a todos,

Tal vez sea como vosotros decís. Sin embargo, espero que se entienda lo que yo quería decir:

1º El "teclado predictivo" no me gusta, ni a otras muchas personas, precisamente, por este tipo de cosas.

2º No es la primera vez que veo un comportamiento cuando menos similar con este tipo de "teclados predictivos".

Pero más importante:

1º El usuario ha de saber lo que escribe en el programa, ¿no es cierto? De modo que, si el "teclado predictivo" se equivoca, ¿el usuario no lo verá? ¿Y no podrá verlo el programa (comprobando la entrada)?

2º Por lo demás, en efecto, si es un problema "introducido", si antes no se daba, entonces, ciertamente, habría que tratar de arreglar dicho problema: pero esto no pasa por cambiar la configuración del sistema, es decir, por "matar al perro".
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #7  
Antiguo 23-04-2017
jhonalone jhonalone is offline
Miembro
 
Registrado: sep 2007
Ubicación: Madrid
Posts: 571
Poder: 19
jhonalone Va por buen camino
Completamente de acuerdo, David.

Pero no me negarás que es una molestia para el usuario, quien no sabe que puede ser un problema de la plataforma con la que se ha construido la aplicación, ni le importa. Sólo verá que la aplicación reacciona de un modo extraño y molesto, y ya que al ver otras aplicaciones que utilizan entradas de texto no tienen este problema, desmerecerá bastante nuestra la aplicación.

Personalmente creo que es un problema causado por Google al actualizar la versión.

Pero al afectar únicamente a las aplicaciones construidas con Delphi, creo que Embarcadero debería tomar cartas en el asunto y resolver la cuestión.

Mientras tanto, seguiremos "chapurreando" a ver si encontramos la forma de "parchear" el problema, aunque para ello tengamos que modificar la forma en que se recoge el texto en los componentes afectados, y aunque nos cueste escribir unas cuantas líneas extra de código en cada una de las entradas de texto de las aplicaciones que ya tenemos construidas, y las que vayamos a construir.

Será una "lata..." y una tarea que nos llevará bastante tiempo, pero si no hay otra cosa...

Sigo pensando que la solución más cómoda para nosotros, (y también la más elegante hasta encontremos otra mejor), sería bloquear el teclado predictivo mientras el usuario utiliza la aplicación. Mejor que dejarle que "se pelee" con un teclado que hace cosas raras (solamente) en nuestra aplicación.

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)
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
Juez puede forzar a proveedor internet a bloquear web que viola derecho autor nlsgarcia La Taberna 2 27-11-2013 10:08:55
se puede bloquear carpeta mapeada ? m8estrella83 Redes 0 29-09-2013 04:29:09
¿formateador de codigo puede hacer esto? JXJ Varios 5 13-08-2012 00:15:53
¿Se puede dejar fija o bloquear la fila seleccionada en un dbgrid? Angel Fernández Varios 6 23-07-2011 04:35:31
Se puede crear Dns por codigo Delphi ronimaxh Conexión con bases de datos 0 09-08-2005 16:38:11


La franja horaria es GMT +2. Ahora son las 23:19:05.


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