Refrescar un DirView y un ListView - Versión para impresión +- Comunidad Gambas-es (https://gambas-es.org) +-- Foro: Gambas (https://gambas-es.org/forum-3.html) +--- Foro: Controles/Librerías/Componentes (https://gambas-es.org/forum-7.html) +--- Tema: Refrescar un DirView y un ListView (/thread-1903.html) |
Refrescar un DirView y un ListView - alberto-moyano - 26-03-2025 Hola gente, en un formulario de mi aplicación tengo un DirView y un FileView que se posicionan sobre el directorio raiz de mi proyecto (un libro) y me permiten ver la evolución de crear/borrar carpetas y archivos, el tema es que la compilación de archivos de LaTeX que manejen varios índices, glosarios y muchas referencias se hace en varias pasadas, por lo general 5 en la que se generan varios archivos auxiliares, muchos de ellos se generan como resultado de otros archivos auxiliares, en fin, una lista muy grande de crear, modificar y borrar archivos de texto plano. Los componentes muestran/actualizan el desarrollo, pero a veces --y acá viene el problema-- los componentes muestran los iconos de los archivos con un candado amarillo (en mi linux mint) que significa que el archivo esta borrado, y es tal cual, si voy via filemanager a ver la carpeta del proyecto, no hay errores en cuanto a que archivos tengo realmente. Estoy aplicando un refresh y un reload a los componentes, pero ni modo, de manera totalmente aleatoria cada tanto pasa lo comentado anteriormente, si cierro la aplicación al reabrirla se soluciona el problema. Pregunta: ¿es una limitación del componente la velocidad de refresco?, digo, son muchisimos archivos todos muuuy pequeños, o es un error de como estoy aplicando el refresco, lo hago con este código (además de hacer un refresh y un reload despúes de compilar) al final de cada funcion de compilación. Código: ' Evento que se ejecuta cuando se detecta un cambio en el directorio Gracias de antemano por cualquier sugerencia RE: Refrescar un DirView y un ListView - Shordi - 26-03-2025 Nunca me he enfrentado a ese problema, pero me recuerda a otros que sí he tenido. El problema suena a que el S.O. no tiene suficiente tiempo para comunicar los cambios. Te aconsejo intercalar un wait después de la creación de cada archivo. Puede ser tan rápido como wait 0.01... pero debes dar tiempo al S.O. a refrescar la información del disco. Ya nos cuentas. Saludos RE: Refrescar un DirView y un ListView - tincho - 26-03-2025 Coincido con Shordi con lo de poner un wait peo, en el caso de comandos shell para crear o borrar archivos, conviene poner un wait en la misma linea al final del comando sin especificar tiempo, de esa manera esperara a que el proceso termine antes de seguir. |