![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
||||
|
||||
|
Cita:
Si visualizas un form vacío qué te tarda. ¿Algo aceptable? A mi en las aplicaciones que he hecho sí, por lo tanto entiendo que no es algo que tenga que solventar Embarcadero. Si el trabajo que estás haciendo para generar el tablero tarda 10 o 15 segundos, Embarcadero ya te da soluciones para hacer eso, pero no sólo en aplicaciones móviles, sino también en aplicaciones de escritorio y la solución en ambos casos es la misma. Debes utilizar Threads. Si en el Create o en el Show de un form realizas una tarea que tarda 15 segundos (en una aplicación windows igual) tendrás la pantalla 15 segundos bloqueada. Eso no es aceptable, por lo tanto debes aplicar una solución con la herramientas que te da Delphi (que ya lo tiene resuelto). Lo lógico sería visualizar un formulario con un elemento de espera, y en un Thread aparte, realizar la tarea que te está bloqueando. Una vez finalizada esa tarea, cierras el primer form y visualizas el segundo con el tablero.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi ![]() P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
|
#2
|
||||
|
||||
|
O quizá cambiar el código que genera los tableros sudoku. De que orden es ese algoritmo? Buscaste en Internet cual es la mejor estrategia para crear una tabla de Sudoku?
|
|
#3
|
|||
|
|||
|
Haré caso a Neftalí y estudiaré los Threads que no los he utilizado nunca. Como sabéis no soy profesional de ésto, sólo un aficionado y por lo que estoy viendo bastante TORPE.
Tan inútil que una vez intenté subir unos vídeos al foro y no se llegaron a ver. Si supiera hacerlo, grabaría el tiempo que tarda el programa en arrancar en windows, con las mismas instrucciones, arranca casi instantáneo. Es mi primer programa para FMX y lleva las mismas instrucciones adaptadas a FMX que el que tenía hecho en Win. No esperaba que tardara tanto en arrancar. Lo dicho, voy estudiar y ya os contaré. Saludos. |
|
#4
|
||||
|
||||
|
El thread no es una solucion magica. Tu algoritmo es ineficiente, o estas haciendo algo que no nos estas diciendo que es muy ineficiente
Si ahora colocas el thread y mueves todo el proceso ahi adentro, supongamos que funciona. Ok, la app arranca, sale el logo de firemonkey y luego vas a ver la "pantalla inicial". El problema de tu programa es que hasta que no terminas de generar todos los tableros, no se puede usar para nada. En definitiva vas a tener mas problemas, porque vas a tener que bloquear la pantalla inicial y desbloquearla hasta que se termine de calcular todo Ademas, de que la programacion con hilos no es algo para nada sencillo, sobre todo en casos como este en el que tienes que sincronizarte con el hilo principal para actualizar componentes visuales Lo que debes aprender a hacer es depurar y estudiar tu codigo. Descubre que es lo que tarda. Vuelvo a preguntarte: Como generas los tableros? Es un algoritmo tuyo? O buscaste informacion? Quiza haya alguna propiedad o "algo" que se puede aprovechar para que se genere el tablero de forma muuuy rapida Tambien podrias publicar tu codigo para que lo veamos |
|
#5
|
|||
|
|||
|
Gracias de nuevo. Agustín.
Tienes razón, llevo toda la tarde leyendo sobre los Threads y todavía no he aprendido a implementarlos, a parte de que he leído que son bastante delicados, es decir: que si te equivocas... ¡paf!. Te pongo el procedimiento de generar tablero. Te comento que tengo declarado un TStringGrid de 3x3 para cada cuadro del tablero que presenta 9 números provisionales o los oculta, según...
Las funciones, como verás casi me sirven las mismas con algunos retoques y unas pocas nuevas. Al final con el tema de los Threads voy a tener que usar una pantalla de inicio, como la que ya tengo, con la que he conseguido dividir el tiempo de espera entre 2. Y te recuerdo que en los móviles nuevos, 5/7 segundos no es mucho. Con evitar que la pantalla quedara en negro... quizá sería suficiente. Quizá pueda optimizar el flujo recolocando algunos procesos... Un saludo. |
|
#6
|
|||
|
|||
|
-Bueno.
Ahora recuerdo por qué tengo puesto: Es porque el número recibido de Random está entre 0 y 9-1. Saludos. |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| BASS Firemonkey Radio Player Delphi XE7 - Pantalla Negra en Android | wolfran_hack | FireMonkey | 3 | 27-07-2021 18:04:30 |
| pantalla negra en motorola droid a855 | kurono | Desarrollo en Delphi para Android | 5 | 21-03-2015 00:15:39 |
| Android SQLite pantalla negra | Davidecr | Desarrollo en Delphi para Android | 9 | 17-03-2014 18:41:09 |
| Delphi + WebCam + Pantalla Negra | pape19 | Varios | 6 | 21-12-2012 01:32:00 |
| Capturar Pantalla = Pantalla negra | DarkDudae | Gráficos | 8 | 27-10-2008 12:29:36 |
|