Database, ProgressBar y Listbox

Buenos Das a todos! De vuelta en el foro de la comunidad de Xojo, quisiera que me orienten.
Deseo completar un listbox a partir de una gran cantidad de datos(3000 registros) que extraigo de la base de datos. Y quiero que se muestre una barra de carga que permita saber el avance de la operacin… He intentado con un timer y un thread y no consigo que se sincronice la carga del ListBox con la barra de progreso. Para actualizar los cambios en la base de datos tambin quiero una barra de progreso que se sincronice con la actualizacin en la BD.
A la espera de sus consejos, Desde ya muchas gracias.

no puedes actualizar una barra de progreso desde el thread principal. tienes que hacerlo desde un thread secundario. igualmente 3000 registros no es una gran cantidad

enlace 1
enlace 2

para actualizar los datos por lo general no se necesita una barra de progreso ya que es una operacion bastante rapida (menos de medio segundo, tiempo que la mayoria de los usuarios estan dispuestos a aceptar). si la actualizacion de un registro lleva mas tiempo que eso es que algo est mal. quizas te resulte mas practico hacer que tu aplicacion funcione a la perfeccion… y luego hacer que sea veloz. como dicen algunos: “First do it, then do it right, then do it better - this is my mantra for successfully getting things done. It’s all about the iteration.”

enlace interesante

tips para cargar mas rapido una listbox

otro link util

Muchas gracias Nicols Canessa! Me alegra conversar con otro adepto de Xojo en Argentina! He investigado bastante cmo optimizar mis operaciones de la BD. De hecho la cantidad de registros con las que trabaja mi aplicacin puede aumentar hasta 10.000. El cdigo funciona, se cargan y se actualizan los datos. Y leyendo los enlaces que compartiste ahora tengo una idea de cmo optimizarlo. Agradezco mucho las pginas que compartiste.
De todas maneras mi deseo es poder mostrarle al usuario de manera grfica una ventana modal con una barra de progreso con los registros que se van procesando. Es en ste ultimo detalle en el que estoy renegando un poco. Quizs estoy dando vueltas en un problema ms sencillo, pero no estoy dndome cuenta de la solucin.

Hola Mariel,

¿Estás haciendo o viendo el comportamiento de rendimiento en “local” o sobre un servidor de producción?

Perdón por adelantado porque no supone una respuesta directa a la consulta planteada, sólo sugerencias sobre el planteamiento del problema.

Ten en cuenta que en las aplicaciones Web has de contar con temas como latencia y velocidad de envío / recepción de los paquetes… y si bien una app Web puede mostrarse más o menos rápida en local, las cosas pueden cambiar cuando despliegues sobre producción.

Es cierto que la cantidad de registros (3.000 / 10.000) es sólo un indicativo, lo realmente importante es la cantidad de datos (KB / MB) en los que se traducen dichos registros cuando han de viajar por la red, sumado a la posible cantidad de conexiones recurrentes que puede soportar la app y también la serie de eventos que pueden saltar en respuesta al hecho de recuperar y mostrar la información en el listbox.

Quizá la mejor estrategia que podrías observar en cualquier caso (y que resultaría escalable) sería la de introducir paginación a la hora de recuperar y trabajar con los registros sobre el listbox.

Muy probablemente, lo anterior evite la necesidad de introducir elementos de barra de progreso u otros indicativos como muestra de estado; y si aun así fuese necesario o quisieras mostrar un elemento gráfico de estado… probablemente lo que menos carga introduzca sería el elemento de “Progress Wheel”.

Seguramente este tipo de interacciones serán bastante más sencillas cuando llegue la versión 2.0 del framework Web!

Javier