Ver Mensaje Individual
  #3  
Antiguo 09-04-2016
jhonalone jhonalone is offline
Miembro
 
Registrado: sep 2007
Ubicación: Madrid
Posts: 547
Reputación: 17
jhonalone Va por buen camino
Gracias Agustín por interesarte.

El Splash inicial del logo es muy facil de cambiar y se hace en Projects/Options/Application.

Pero este no es el problema. El verdadero problema viene después... (2/3 segundos despues) cuando desaparece el splash inicial. De ahí a que se muestra la pantalla queda en negro y no se sabe qué está haciendo. (El usuario, claro. Nosotros sabemos que está cargando el programa y haciendo lo que le hayamos ordenado en OnCreate y OnShow y generando los componentes... etc, etc.)
Esta pantalla en negro da muy mala impresión.

En concreto mi App (que es un tablero de sudoku) tiene que generar unos cuantos TStringGrid y el primer tablero de forma aleatoria y validarlo y repetir hasta encontrar un tablero válido.

En mi teléfono móvil tarda unos 11s. en el de mi hijo que es más moderno unos 6s. pero en la tableta Samsung Galaxy 3 nos vamos a 15 ó 20 segundos. (¡Un mundo...!)

Está todo en un solo Form, no genero automáticamente en tiempo de ejecución nada más que el tablero, todo lo demás está generado en tiempo de diseño, no tiene acceso a datos... no sé qué más decirte.

Entiendo que pueda tardar unos segundos en generar el tablero y en poner todo a punto, estos segundos han ido aumentando a medida que ha crecido el tamaño de la App.

Lo entiendo... Además los procesadores de los teléfonos y tabletas (sobre todo los más antiguos) son relativamente lentos, los comparamos con los de los PCs. El mismo programa lo tengo ya hecho para PC y abre en un parpadeo.

Todo esto lo entiendo...

He conseguido "dividir" (que no reducir) el tiempo de espera, usando una nueva Form como de presentación.

Comprendo que el tiempo de espera no se pueda reducir, es lo que hay y punto.

Lo que pretendo es evitar ésa pantalla negra. Sustituirla por algo que indique que el programa se está cargando o algo así. Como dije ya lo he intentado con un TAniIndicator y no lo he conseguido. Lo más que he conseguido es un ShowMessage en OnCreate. Ese se muestra sin esperar a la carga del programa.

Lo que os pido es algún truco que haya conseguido alguien, porque el problema, tal como yo lo veo, no debe ser solamente mío. He intentado con la solución de kurono pero tampoco resulta efectiva.

Repito, esto debería estar resuelto en Embarcadero, pero tampoco en el docwiki he encontrado nada que lo resuelva.

No os canso más. Si alquien conoce una solución al problema más elegante que el ShowMessage, agradeceré la comparta en el foro. Porque, o mucho me equivoco, o este problema es general.

Gracias por soportarme.

Saludos.
Responder Con Cita