FoxPro/Visual FoxPro - Programacion multiusuarios

 
Vista:

Programacion multiusuarios

Publicado por Vicente (24 intervenciones) el 19/03/2004 20:43:21
Hola como estan, espero que alguien de uds. me pueda ayudar, el problema es el siguiente:
Estoy realizando una aplicacion multiusuario en visual foxpro 6.0 pero deseo que los usuarios puedan visualizar a travez de un grid los datos de la tabla en eso no hay problema pero necesito que si algun usuario modifica, agrega o elimina algun registro se vea automaticamente en el resto de los usuarios sin tener que volver a cargar los datos de la tabla.
Gracias de antemano
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Programacion multiusuarios

Publicado por Roman Suazo (2723 intervenciones) el 19/03/2004 21:52:12
Seria algo complicado lo que tu quieres (programacion algo avanzada), se podria lograr con el control winsock, donde cada cliente tendria una app que se dedicara exclusivamente a mandar o recibir mensajes entre los miembros de la red, es decir, cada vez, que borres o agreges registros con el control enviaria un mensaje a los demas y estos automaticamente refrescarian los datos. Para realizar esto debes dominar el control winsock que no tiene que ver nada con el fox en si. La otra solucion es que cada cliente con un programita especial, leyera un archivo de texto (podria ser una tabla) cada cierto tiempo, en ese archivo se guardaria informacion acerca de si las tablas han recibido o no cambios, obviamente cada cliente tambien tiene que estar escribiendo esa informacion.

La verdad es que la caracteristica que tu quieres es interesante y atractiva, pero si en
realidad no es necesaria mejor no implementarla, la app se te va a ser muy lenta.
Cuando trabajas en un ambiente multiusuario con fox mejor es manejar pocos datos
y tratar de no hacer circular mucha informacion por la red. Toma en consideracion la opcion en la que los usuarios refresquen los datos cuando ellos en realidad lo necesiten o deseen.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Programacion multiusuarios

Publicado por Vicente (24 intervenciones) el 20/03/2004 05:35:35
Gracias por tu consejo Roman, me puse a neciar en las ayudas y con unos manuales y adapte una combinacion usando buffers, vistas e instrucciones de manejo de buffers (tableupdate, tablerevert, cursorsetprop, requery).
Cree la vista local usando el asistente, y luego configure el buffers con cursorsetprop ademas el comando requery lo coloque en un cronometro en la forma usando una bandera para poder controlar cuando estoy modificando un registro ya que si esta modificando y ejecuta requery bota un error.
De todas formas si tienes alguna otra forma ahi nos damos las manos, bye
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Programacion multiusuarios

Publicado por Vicente (24 intervenciones) el 20/03/2004 05:37:56
Gracias por tu consejo Roman, me puse a neciar en las ayudas y con unos manuales y adapte una combinacion usando buffers, vistas e instrucciones de manejo de buffers (tableupdate, tablerevert, cursorsetprop, requery).
Cree la vista local usando el asistente, y luego configure el buffers con cursorsetprop ademas el comando requery lo coloque en un cronometro en la forma usando una bandera para poder controlar cuando estoy modificando un registro ya que si esta modificando y ejecuta requery bota un error.
Aunque me da la idea que me va a congestionar la red dado que siempre se esta ejecutando el requery.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Programacion multiusuarios

Publicado por Roman Suazo (2723 intervenciones) el 20/03/2004 06:02:54
Tal vez tu poblema es el siguiente: como usas vistas no puedes refrescarla si no has guardado los cambios con el tableupdate. Checa el comando AError() para ver que error esta ocurriendo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar