Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Ventanas Acutalizadas al Tiempo (https://www.clubdelphi.com/foros/showthread.php?t=43985)

subzero 25-05-2007 14:51:10

Ventanas Acutalizadas al Tiempo
 
Hola.

Mi consulta es la siguiente, cual sería la mejor manera de actualizar la misma ventana que se encuentra en varios equipos los cuales estan conectados a la misma base de datos?... La idea es que existe una aplicación en la cual cuando el usuario A ingrese, modifique o elimine un registro de una tabla esta pueda ser vista por el resto de usuarios de manera inmediata.

Actulamente lo estoy haciendo utilizando como Base de Datos "FireBird", Delphi 7, las consultas la estoy hacienso con Query's y la información la estoy mostrando en grillas, ventana en la cual al cabo de 1 minuto se lanza la consulta borra todo lo que hay en el StringGrid y vuelve a insertar los valores que trae de la consulta. Este tiempo de actualización lo hago por medio de un Timer.

Por los tanto se genera un parpadeo continuo. Agradezco cualquier sugerencia.. Gracias

Lepe 25-05-2007 16:21:21

El parpadeo, yo diría que es difícil de quitar, ya que siempre necesitarás cerrar la consulta y volverla a abrir.

Para que la Base de datos informe a todos los programas clientes de un suceso, usa post_event en un trigger after update / after insert / after delete, aunque claro, si hay muchos usuarios conectados, quizás parpadee constantemente :(.

Quizás el usuario, en la tarea que le ocupe, no le importe si hay nuevos registros o no, en ese caso, se podría usar otro criterio.

Usamos Post_event, pero no cerramos y abrimos los datasets... sino que mostramos una ventana emergente al usuario (o en el StatusBar, a gusto del consumidor) informando que hay 3, 10, o 40 modificaciones desde que él abrió el dataset por última vez. Si el usuario quiere, que pinche en la ventana emergente para actualizar los datos.

O también crear una opción en las preferencias del programa donde el usuario pueda decidir que prefiere.

Saludos


La franja horaria es GMT +2. Ahora son las 17:06:25.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi