FoxPro/Visual FoxPro - PROBLEMAS CON RLOCK()

 
Vista:

PROBLEMAS CON RLOCK()

Publicado por DAVID (76 intervenciones) el 08/06/2001 21:20:50
HOLA A TODOS.
BIEN , ESTE ES EL GRAN DILEMA, TENGO UNA TABLA COMPARTIDA, QUE ABRO CON UN SHARED, Y AL AGREGARLE NUMEROS DE FACTURAS, PRIMERO BUSCO EL ULTIMO NUMERO, Y HAGO UN RLOCK(), Y SI NO ENCUENTRA NINGUN VALOR PARA ESA COMPAÑIA, ENTONCES CREA LA FACTURA 1.

EL PROBLEMA ESTA EN QUE EL RLOCK NO ESTA FUNCIONANDO, Y NO BLOUEA EL REGISTRO, NADIE MAS LA ESTA USANDO, PORQUE ESTOY EN UN AMBIENTE MONOUSUARIO.

QUE PUEDE ESTAR PASANDO.

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:PROBLEMAS CON RLOCK()

Publicado por Aura (51 intervenciones) el 08/06/2001 21:50:35
Yo tuve un problema parecido no hace mucho, pero estaba en ambiente compartido. Lo que me faltaba era la instrucción:

Set Reprocess to 1

Prueba de todo modo.
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:PROBLEMAS CON RLOCK()

Publicado por DAVID (76 intervenciones) el 09/06/2001 18:05:57
YA TENGO SET REPROCESS TO 1, Y LO HABIA VERIFICADO DESDE ANTES, ESTE NO HA CAMBIADO EN NADA EL PROBLEMA.

SE SUPONE QUE SI AÑADO UN REGISTRO CON APPEND BLANK, ESTE QUEDA BLOQUEADO AUTOMATICAMENTE, Y QUE SI YO, EL USUARIO PRINCIPAL DEL REGISTRO, QUIEN LO AÑADIO, LE DOY UN RLOCK A ESE REGISTRO QUE YO MISMO HE BLOQUEADO, DEBE PERMITIRME LA RECONFIRMACION DEL BLOQUEO.

EN MUCHAS OCACIONES LO HE HECHO, Y HA FUNCIONADO, PERO NO TENGO NI IDEA DE PORQUE NO LO HACE AHORA.
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:PROBLEMAS CON RLOCK()

Publicado por Foxperto (894 intervenciones) el 09/06/2001 23:59:36
Hola David:

No entiendo bien cual es tu pregunta, de todas maneras voy a hacerte este comentario.

Esto es lo que pasa, cuando haces un Append Blank, VFP bloquea la cabecera de la Tabla, agrega un registro en Blanco y luego desbloquea la cabecera de la tabla... Por lo tanto el registro en blanco que acabas de ingresar no queda bloqueado... Si inmediatamente le haces un RLock(), VFP deberia de bloqueartelo.

Otra cosa, yo utilizo el Set Reprocess To Automatic todo el tiempo... Solo utilizo el Set Reprocess To 3, inmediatamente antes del RLock() y luego lo devuelvo a Automatic.

Bueno, prueba y nos cuentas.

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

rlock()

Publicado por wences (457 intervenciones) el 11/06/2001 19:31:27
Yo ejecuto algo asi:

if empty(m.numero)
if !used('contar')
use contar in 21 shared
endif
select contar
go top
rlock()
replace contar.conalba with str(val(contar.conalba)+1,6,0)
replace contar.nusuario with m.usuario
replace contar.dia_hora with datetime()
unlock
m.numero=contar.conalba
thisform.expedicion.refresh
endif

o bien asi :

select albaran
set order to numero
seek padl(alltrim(m.numero),7)
if !found()
append blank
endif
rlock()
gather memvar
replace albaran.tiporte with portes.grupotp
replace albaran.fecha_s with date()
replace albaran.nusuario with m.usuario
replace albaran.dia_hora with datetime()
unlock
esto en redes con entre dos y 25 usuarios y jamas e tenido un problema ...

eso si tengo estos parametros por defecto y no los toco nunca..

set multilocks on
set reprocess to automatic

Espero te sirva...
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