Citación del post de
Josber
|
❞
¿ 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).
