Ver Mensaje Individual
  #5
Antiguo 26 de agosto de 2015, 18:08
Kuk
Administrador
Última Actividad 03.10.2026 00:00
Posts Posts: 2.500
Likes enviados Enviados: 1038
Likes recibidos Recibidos: 1207

Citación del post de Josber Ver Mensaje
❞
¿ Y no te ralentiza el programa, ni te hace "pirulas" raras ?, porque lo que haces es forzar a que todos los subprocesos pendientes, se ejecuten, ¿no?
Sií que ralentiza un poco, pero no mucho (depende del tamaño de los datos). Pero esto se puede controlar, si hay muchos datos, haces ThruEvents cada x registros (como lo que hacemos con COMMIT en BBDD).

Si lo usas bien, no da ningún problema. Mira, estoy en un tratamiento "masivo" de datos con un bucle, lo que hago es dehabilitar el Form (propiedad "Enabled") y para mejor viasualización - puntero de espera. De esta manera, el usuario no puede lanzar subprocesos agenos. Luego, dentro del bucle, al final de cada iteración meto el ThruEvents. Esto lo que hace es ejecutar los procesos pendientes, pero únicos que hay son lo que yo manejo (el ProgressBar, un CmStatic etc.). De esta manera, no me ejecuta la siguiente iteración del bucle hasta que no redibuje la pantalla con los nuevos datos.

El unico proceso "incontrolable" que queda es el foco de la ventana en sí, pero se control por Windows. Así que si WIndows ha ordenado enfocar o desenfocar la ventana, es justo en el ThruEvents donde lo veríamos "bien" (a tiempo).



NORMAS DEL FORO - para garantizar el buen funcionamiento del Foro.
¿Te han ayudado? NO TE OLVIDES de darle a
¿Quieres dirigirte a alguien en tu post? Notifícale haciendo clic en su Nick
Kuk is offline   Responder Con Cita