Requiere Bloqueo

Requiere Bloqueo

Postby leandro » Fri Jun 21, 2019 5:56 pm

Buenos Dias para todos,

Como dice el encabezado tengo problemas al momento de actualizar los campos en una DBF compartida de otra aplicación. El problema radica al momento de actualizar, ya que me lanza un error que dice: requiere bloqueo.

Si lo hago de esta manera no realiza los cambios, ya que no se cumple la condición y no ingresa.

Code: Select all  Expand view

IF dbRLock()
  d_info->HPESTADO:=2
  d_info->HPFRANUM:=val(factur)
  d_info->HPTIPDOC:=tipodoc
ENDIF
dbUnlock()
 


Sin embargo si lo hago forzado
Code: Select all  Expand view

dbRLock() //
d_info->HPESTADO:=2
d_info->HPFRANUM:=val(factur)
d_info->HPTIPDOC:=tipodoc
dbUnlock()
 


Pummm Error: "Requiere Bloqueo",alguien sabe en que puedo estar fallando?

Por otro lado cabe comentar que solo sucede en algunos computadores, en mi PC personal funciona de maravilla, pero en el equipo del cliente, nada :(

De antemano gracias

Función Completa
Code: Select all  Expand view

*ACTUALIZAMOS EL ESTADO Y NUMERO DE LA FACTURA
FUNCTION actualizaEstado(placa,fecFac,factur,tipodoc)
//RUTAS DE LOS ARCHIVOS UTILIZADOS
Local ruta1 := "\bascula\dbf\info"
//ABRIMOS LA TABLA DE REGISTRO
USE (ruta1) INDE (ruta1) ALIAS d_info NEW SHARED VIA 'DBFCDX'
LOCATE FOR d_info->HPEFECHAS=fecFac .AND. d_info->HPESTADO=1 .AND. d_info->HPEPLACAS=alltrim(placa)
IF FOUND()
    IF dbRLock() //
        d_info->HPESTADO:=2
        d_info->HPFRANUM:=val(factur)
        d_info->HPTIPDOC:=tipodoc
    ENDIF
    dbUnlock()
ELSE
    MsgInfo("Placa No Encontrada","Error Datos")
    retorno:=.f.
ENDIF
d_info->(DBCloseArea())
return nil
 
Saludos
LEANDRO AREVALO
Bogotá (Colombia)
https://hymlyma.com
https://hymplus.com/
leandroalfonso111@gmail.com
leandroalfonso111@hotmail.com

[ Embarcadero C++ 7.60 for Win32 ] [ FiveWin 23.07 ] [ xHarbour 1.3.0 Intl. (SimpLex) (Build 20230914) ]
User avatar
leandro
 
Posts: 1620
Joined: Wed Oct 26, 2005 2:49 pm
Location: Colombia

Re: Requiere Bloqueo

Postby Armando » Fri Jun 21, 2019 6:06 pm

Leandro:

Y si te vas a pie?

Code: Select all  Expand view

    IF (cAlias)->(RLOCK())
 


Yo lo uso así y sin problemas.

Saludos
SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
User avatar
Armando
 
Posts: 3176
Joined: Fri Oct 07, 2005 8:20 pm
Location: Toluca, México

Re: Requiere Bloqueo

Postby karinha » Fri Jun 21, 2019 7:16 pm

Code: Select all  Expand view

FUNCTION actualizaEstado(placa,fecFac,factur,tipodoc)

   //RUTAS DE LOS ARCHIVOS UTILIZADOS
   Local ruta1 := "\bascula\dbf\info"
   //ABRIMOS LA TABLA DE REGISTRO
   USE (ruta1) INDEX (ruta1) ALIAS d_info NEW SHARED // VIA 'DBFCDX' ponga en el menu principal


   LOCATE FOR d_info->HPEFECHAS=fecFac .AND. d_info->HPESTADO=1 .AND. d_info->HPEPLACAS=alltrim(placa)


 
   IF FOUND()

      RLOCK()

      d_info->HPESTADO:=2
      d_info->HPFRANUM:=val(factur)
      d_info->HPTIPDOC:=tipodoc

      COMMIT
      UNLOCK

   ELSE

       MsgInfo("Placa No Encontrada","Error Datos")

       retorno:=.f.

   ENDIF

   d_info->(DBCloseArea())

return nil
 


João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
karinha
 
Posts: 7607
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Re: Requiere Bloqueo

Postby leandro » Wed Jun 26, 2019 12:19 pm

Gracias karinha y Armando :D

Voy a realizar pruebas y comento.
Saludos
LEANDRO AREVALO
Bogotá (Colombia)
https://hymlyma.com
https://hymplus.com/
leandroalfonso111@gmail.com
leandroalfonso111@hotmail.com

[ Embarcadero C++ 7.60 for Win32 ] [ FiveWin 23.07 ] [ xHarbour 1.3.0 Intl. (SimpLex) (Build 20230914) ]
User avatar
leandro
 
Posts: 1620
Joined: Wed Oct 26, 2005 2:49 pm
Location: Colombia

Re: Requiere Bloqueo

Postby nageswaragunupudi » Wed Jun 26, 2019 1:20 pm

Code: Select all  Expand view
if d_info->( Found() )
   if d_info->( FW_FieldsPut( "HPESTADO,HPFRANUM,HPTIPDOC", ;
                { 2, Val( FACTUR ), tipodoc } ) )  == 0
      ? "Error writing"
   endif
else
  ? "not found"
endif
 
Regards

G. N. Rao.
Hyderabad, India
User avatar
nageswaragunupudi
 
Posts: 10465
Joined: Sun Nov 19, 2006 5:22 am
Location: India


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 36 guests