Antonio please! problemas de bloqueo
Posted: Tue Jun 26, 2007 6:10 pm
Antonio es urgentisimo que solucione este tema, se te ocurre que podrá ser????
Estoy usando xHarbour build 0.99.71 el que descargo habitualmente desde el cvs.
Estoy experimentando problemas de bloqueo en una red con XP SP2, lo extraño es que con esta función debería funcionar ok, devuelve .T. como que el registro fué bloqueado pero depues termina dando error dbfcdx/1022 "SE REQUIERE BLOQUEO", a alguien le ocurrió esto? revisé el foro pero no encontré información relevante acerca de este problema.
Antes que me preguntes, el problema ocurre en dos redes distintas con el mismo error asi que descarto problemas de placas, cables, etc. y obviamente cuando hago el REPLACE, viene un COMMIT - DBUNLOCK
La funcion de bloqueo es:
///////////////////////////////////////////////////////////////////////////////////
#Define MODE_FILE 1
#Define MODE_RECORD 2
#Define MODE_APPEND 3
Function Bloquea( cAlias, lAppend )
Local nMode
Local nCnt := 0
DEFAULT lAppend := .F.
DbSelectArea( cAlias )
If lAppend
nMode := MODE_APPEND
Else
nMode := MODE_RECORD
EndIf
Do While .T.
Do Case
Case nMode == MODE_APPEND
DbAppend()
If !NetErr()
Return .T.
Endif
Case nMode == MODE_RECORD
If RLock()
Return .T.
EndIf
EndCase
nCnt := nCnt + 1
SysWait(1)
If nCnt > 5
If !MsgYesNo( "No fué posible bloquear el registro " + StrZero( RecNo(), 8 ) + " del archivo " + cAlias + CRLF +;
"Reintenta?", "Atención!" )
Exit
Endif
Endif
EndDo
Return .F.
///////////////////////////////////////////////////////////////////////////////////
Necesito alguna ayudita urgente !!!!!!!!!!!!
Muchos saludos
Alejandro Cebolido, Buenos Aires, Argentina.
Estoy usando xHarbour build 0.99.71 el que descargo habitualmente desde el cvs.
Estoy experimentando problemas de bloqueo en una red con XP SP2, lo extraño es que con esta función debería funcionar ok, devuelve .T. como que el registro fué bloqueado pero depues termina dando error dbfcdx/1022 "SE REQUIERE BLOQUEO", a alguien le ocurrió esto? revisé el foro pero no encontré información relevante acerca de este problema.
Antes que me preguntes, el problema ocurre en dos redes distintas con el mismo error asi que descarto problemas de placas, cables, etc. y obviamente cuando hago el REPLACE, viene un COMMIT - DBUNLOCK
La funcion de bloqueo es:
///////////////////////////////////////////////////////////////////////////////////
#Define MODE_FILE 1
#Define MODE_RECORD 2
#Define MODE_APPEND 3
Function Bloquea( cAlias, lAppend )
Local nMode
Local nCnt := 0
DEFAULT lAppend := .F.
DbSelectArea( cAlias )
If lAppend
nMode := MODE_APPEND
Else
nMode := MODE_RECORD
EndIf
Do While .T.
Do Case
Case nMode == MODE_APPEND
DbAppend()
If !NetErr()
Return .T.
Endif
Case nMode == MODE_RECORD
If RLock()
Return .T.
EndIf
EndCase
nCnt := nCnt + 1
SysWait(1)
If nCnt > 5
If !MsgYesNo( "No fué posible bloquear el registro " + StrZero( RecNo(), 8 ) + " del archivo " + cAlias + CRLF +;
"Reintenta?", "Atención!" )
Exit
Endif
Endif
EndDo
Return .F.
///////////////////////////////////////////////////////////////////////////////////
Necesito alguna ayudita urgente !!!!!!!!!!!!
Muchos saludos
Alejandro Cebolido, Buenos Aires, Argentina.