FoxPro/Visual FoxPro - FLOCK()

 
Vista:

FLOCK()

Publicado por chema (74 intervenciones) el 15/05/2003 20:08:40
Estoy usando el siguiente código en mi programa (en un formulario):
----------------------------------------------------
use tabla index tabla shared
if flock()
messagebox(\'se bloqueo la tabla\')
else
messagebox(\'Tabla ocupada\')
endif
------------------------------------------------------
Si intento abrir la tabla desde el mismo programa dos veces mediante dos formularios(es decir, ejecuto la aplicación , que está instalada en un servidor, desde mi ordenador, y abro dos formularios que usan la misma tabla) , en el primer formulario consigo bloquear la tabla, y si abro otro a la vez que también usa dicha tabla, me sale el mensaje de que la tabla está ocupada(hasta aquí todo bien). Pero si ejecuto la aplicación desde dos pcs a la vez, con un ordenador bloqueo la tabla y con el otro, cuando intento usarla, en vez de salirme el mensaje, se queda el ratón con el reloj, es decir, en espera de que la tabla se desbloquee: por qué??
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:FLOCK()

Publicado por Miguel (27 intervenciones) el 15/05/2003 20:30:38
En el inicio de tu programa principal escribe lo siguiente:

SET REPROCESS TO 30 SECONDS

Con esto el sistema intentara bloquear la tabla durante 30 segundos.
Obviamente tu puedes poner el tiempo que desees.
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

Gracias!!

Publicado por chema (74 intervenciones) el 15/05/2003 21:42:24
Gracias!!
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