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 09-04-2024
jmbarrio jmbarrio is offline
Miembro
 
Registrado: may 2003
Posts: 72
Poder: 22
jmbarrio Va por buen camino
Cita:
Empezado por Neftali [Germán.Estévez] Ver Mensaje
Como solución genérica, pasar las cosas a un Thread cuando el programa se ralentiza puede ser una buena opción, pero no siempre es la más adecuada, ya que los threads tienen sus particuladidades.
Tampoco vale, coger el código "antiguo", pasarlo a un thread y esperar que funcione (tal vez sí, pero no suele ser lo habitual).

Lo primero decir, que las operaciones con Bases de Datos en threads, en según qué casos requieren conexiones diferenes. Por ejemplo, en ADO no puedes usar la misma conexión en 2 threads, porque el componente de conexión no es "thread-safe";En el caso de Firedac hay que mirar bien las especificaciones, porque también tiene sus partocularidades (https://docwiki.embarcadero.com/RADS...ading_(FireDAC)).

En segundo lugar, veo que estás accediendo a componentes directamente desde el thread que están definidos "fuera" (F_data, FDMemTable1, contador); Almenos yo no los veo ahí. Ese acceso te va a dar problemas, puesto que lo estás haciendo sin sincronizar.

Este código no tiene sentido:
Código Delphi [-]
Thread.Start;
showmessage('Sincronizacion de Clientes Completada. ' + contador.ToString + 'Clientes Traspasados');

El ShowMessage va a salir nada más iniciar el proceso, no al final.
Hola Neftalí, tienes toda la razón, pensaba que el showmessage saldría al finalizar el hilo. ¿Cómo puedo enterarme de la finalización del hilo para yo poder sacar ese mensaje?
Gracias. un saludo
Responder Con Cita
  #2  
Antiguo 09-04-2024
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.289
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por jmbarrio Ver Mensaje
...pensaba que el showmessage saldría al finalizar el hilo. ¿Cómo puedo enterarme de la finalización del hilo para yo poder sacar ese mensaje?

Prueba con el evento OnTerminate del TThread.
Aunque sigo pensando que este es el menor de tus problemas. Creo que si no cambias código ese thread te va a dar problemas.
__________________
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.
Responder Con Cita
  #3  
Antiguo 09-04-2024
jmbarrio jmbarrio is offline
Miembro
 
Registrado: may 2003
Posts: 72
Poder: 22
jmbarrio Va por buen camino
Cita:
Empezado por Neftali [Germán.Estévez] Ver Mensaje
Prueba con el evento OnTerminate del TThread.
Aunque sigo pensando que este es el menor de tus problemas. Creo que si no cambias código ese thread te va a dar problemas.
Ya he conseguido que funcione como yo quería, muchas gracias por toda la ayuda. Es mi primera apk para android y estáis siendo de gran ayuda.

Hasta la próxima.

Un saludo a tod@s
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
Thread Firemonkey Android query amadis FireMonkey 2 23-09-2020 12:04:03
Se puede evitar cerrar un thread o hilo DarkSton Varios 6 14-07-2017 17:47:54
Error: terminate thread timeout ppalmamichi Varios 0 21-08-2012 20:03:47
Error en mi Thread Paulao Varios 3 16-02-2011 15:36:08
Thread bendito thread...se me pierde la ventana Seba.F1 API de Windows 5 02-02-2006 00:16:30


La franja horaria es GMT +2. Ahora son las 13:49:29.


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