Ver Mensaje Individual
  #3  
Antiguo 02-03-2022
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.286
Reputación: 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 Efren2006 Ver Mensaje
Tengo un Proceso que debe Llamar muchos Registros de una Base de Datos Firebird y llenar una Tabla Temporal para que el usuario escoja los registro que desea procesar, como son muchos registros en la mayoría de las ocasiones la Ventana me dice (NO RESPONDE)...
Normalmente esto ocurre cuando durante un tiempo largo la aplicación entra en un proceso en que la UI no responde.
Si estás ejecutando una consulta que tarda mucho es normal que suceda. Si estás ejecutando muchas consultas (por ejemplo en un FOR/WHILE) deberías utilizar un Application.ProcessMessages para dar tiempo a procesar otros mensajes.

Cita:
Empezado por Efren2006 Ver Mensaje
Que estará mal Programado ?? o que debo hacer en los casos que deba leer MUCHOS registros de la BD ?
Hay varias soluciones dependiendo de exactamente cual sea el problema.
Si es una consula muy pesada, tienes la opción de ejecutarla a un thread diferente (cosa que no es fácil si no has trabajado con threads).
Otra opción podría ser intentar dividir la consulta para obtener los registros por bloques (si eso es posible segun la lógica del programa).
__________________
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