|
FORUMS PROFESSIONNELS WINDEV, WEBDEV et WINDEV Mobile |
| | | | | |
Accueil → WEBDEV 2024 → WB 14: ejecutar un proceso y mostrar al usuario que algo esta sucediendo... |
WB 14: ejecutar un proceso y mostrar al usuario que algo esta sucediendo... |
Débuté par Victoria Caballero, 11 mar. 2010 15:51 - 3 réponses |
| |
| | | |
|
| |
Posté le 11 mars 2010 - 15:51 |
Hola a todos, Necesito ejecutar un proceso en una aplicacion web en WB 14 leyendo una tabla de productos de más de 8.300 filas, entonces lo que quiero hacer es crear una pagina donde el usuario sea capa de ver que el proceso esta corriendo, tal vez mostrando un gif animado si es posible y el nombre del producto que se esta procesando. El proceso es un poco complejo o sea que tardara unos cuantos minutos asà que es importante que el usuario pueda ver que el proceso esta corriendo. Para que se entienda mejor me gustarÃa hacer algo como lo que hacen las paginas donde se buscan vuelos por ejemplo, donde ingresamos lo que necesitamos buscar, presionamos OK y aparece una pagina o una ventanita con una imagen en movimiento y algún texto indicando que se esta buscando. Intente hacer esto usando un gif animado pero no aparece animado sino fijo totalmente, y tampoco pude mostrar el nombre del producto mientras el proceso esta corriendo. Intente usar la propiedad “Automatic AJAX indicator†que hay en el Tab “Details†en las paginas pero no funciono. Asà que mi pregunta es; como es la forma correcta de hacer esto? Cualquier ayuda, truco, o sugerencia son bienvenidos. Gracias de antemano.
Saludos,
Victoria Caballero |
| |
| |
| | | |
|
| | |
| |
Posté le 12 mars 2010 - 10:46 |
Hola Victoria, yo lo que hago es lo siguiente: en la página tengo un cell que a su vez contiene el gif (en mi caso el relojito con las agujas dando vueltas), en las propiedades de la página en la pestaña 'Details', en la sección 'Automatic AJAX Indicator' en la lista 'Control' selecciona la CELL que contiene el Gif, de manera, que cada vez que realices el proceso te aparecerá el relojito automáticamente. Lo que ya no se es para que vaya mostrándote los nombres que quieres que vayan apareciendo. Saludos |
| |
| |
| | | |
|
| | |
| |
Posté le 12 mars 2010 - 12:44 |
Hola Victoria, Primero: Crea un Cell (CELL_Mensaje) al final de la página, fuera de otros cell y marca la propiedad: Automatic positioning when loading to avoid the scrollbars.
Segungo: En el Cell crea un static para los mensajes y añade el gif que servirá para la animación.
Tercero: En la función a ejecutar (FunciónServidor) del servidor debes ponerla como Ajax y debe devolver un valor con Result
Cuarto: En el código browser del botón que ejecuta la acción debes poner: nRes is int CellDisplayDialog(CELL_Mensaje) STC_Texto ="Ejecutando proceso 1" nRes=AJAXExecuteAsynchronous(FunciónServidor,LPfinFunciónServidor)
Quinto: Debes crear la función LPfinFunciónServidor en Local Procedures, esta función es la que se ejecutará cuando termine el proceso de FunciónServidor y en la definición de parámetros debes especificar unos fijos para poder recuperar el result de la FunciónServidor. Sería algo así: PROCEDURE LPfinFunciónServidor(sRes,nRes) nlRes is int
IF sRes = "1" THEN //Valor que devuelve FunciónServidor STC_Texto ="Proceso 1 terminado, ejecutando proceso 2" //por si quieres ejecutar otra función nlRes=AJAXExecuteAsynchronous(FunciónServidorII,LPfinFunciónServidorII)
ELSE STC_Texto ="Se ha producido un error..." IMG_Image1..Visible =False //La del gif BTN_Finalizar..Visible = True // Botón para finalizar, donde codifico en cód. browser CellCloseDialog(CELL_Mensaje) y en Server PageDisplay(index) END
Si revisas en el foro de Skype (Windev) expliqué mis problemas con esto, el ajax tiene que ser asíncrono para poder visualizar los mensajes, ya que el evento tiene que finalizar para visualizar el mensaje. Con el gif también tuve alguna cosa pero no me acuerdo ahora.
Saludos, nos vemos en Skype |
| |
| |
| | | |
|
| | |
| |
Posté le 12 mars 2010 - 15:08 |
Respecto al gif, para que funcione no lo debes comprimir.
Saludos |
| |
| |
| | | |
|
| | | | |
| | |
| | |
| |
|
|
|