Para agregar un registro en un ambiente de red a un fichero dbf/cdx venía utilizando el codigo:
- Code: Select all Expand view
- nIntentos := 5
cAlias := "ALIAS"
lUnLock := .F.
DO WHILE .T.
(cAlias)->(dbAppend(lUnLock))
If !NetErr() // Si no hay error
RETURN .t.
EndIf
If nIntentos <=0
EXIT
EndIf
Depura("Esperando 1/2 segundo para agregar un registro")
syswait(0.5)
nIntentos ++
ENDDO
Depura("finAgregaRegistrocon error")
Debido a que en algunas ocasiones me aparecían registros vacios modifique el codigo haciendo que despues de agregar el registro se mueva el puntero al registro que se acaba de añadir.
- Code: Select all Expand view
- (cAlias)->(dbAppend(lUnLock))
If !NetErr() // Si no hay error
(cAlias)->(dbgoto( (cAlias)->(RECNO())))
sysrefresh()
RETURN .t.
EndIf
Ahora en algunas ocasiones el programa se queda colgado cuando ejecuto la línea en la que se mueve el puntero
¿Alguna idea de que puede estar pasando?