Aplicacion parada hasta cargar base de datos

Buenas, a ver si me podeis ayudar, tengo una base de datos con imagenes, y cuando selecciono un cliente en un listbox, tarda mucho en poder reaccionar la aplicacion hasta que carga todas las fotos de ese cliente. Vengo de visual basic, y cuando pasaba esto, debido a que el programa se quedaba “pillado” hasta que llegaba al ultimo recordset y no refrescaba, yo usaba justo despues de un movenext, un “Doevents”, y asi el programa iba haciendo los pasos sin quedarse parado. Aqui el “Doevents” parece que es lo contrario, una especie de pausa segun los milisegundos que le pongas.

¿Hay alguna manera de poder hacer que el programa, mientras va cargando las fotos y datos no se quede pillado?, gracias

EDITO: parece que lo he solucionado. No se si es la manera correcta, pero me ha funcionado.

justo despues del movenext, he puesto (en mi caso que es en un tabpanel): “tabpanel1.refresh” y asi me van saliendo las imagenes conforme las va cargando, en vez de esperar la aplicacion hasta salir todas de golpe.

EDITO DE NUEVO: Mientras me va cargando las fotos, me gustaria poner una ventana por encima que ponga “cargando imagenes…”. He puesto un canvas invisible, y cuando empieza a cargarlas, se pone visible, pero pero los canvas (son arrays), que van apareciendo (que son las imagenes en sí), se ponen por encima de ese canvas de cortinilla y se ve feo. ¿Hay alguna manera de poner por encima de las imagenes el canvas “cargando imagenes…” ?. En visual basic tenia la propiedad zorder, pero aqui no veo nada parecido.

Según recomendaciones en este foro, no es buena idea sobreponer controles, especialmente en windows, la mejor opción es ocultar los controles de fondo y mostrar el canvas y al finalizar volver a mostrar los controles ocultando el canvas, puede “agrupar” los controles (en el IDE adiciona el control y luego arrastra los controles que quiera agrupar dentro del Nuevo control) en un solo control (un rectangle por ejemplo) y ocultar (con visible) un solo control.

Hola Antonio,

¿Por qué no pones por encima precisamente eso, es decir, una ventana modal? Incluso puedes crear una ventana con una barra de progreso que se vaya actualizando a medida que cargan las imágenes.

Javier Rodríguez
Evangelista Xojo en Español, Desarrollador, Consultor y Formador Xojo
Autor del libro “Programación Multiplataforma Xojo
Autor del plug-in GuancheMOS para Xojo
Snippery para OS X: editor y gestor de fragmentos… ¡y más!