FoxPro/Visual FoxPro - PROCESO DE GRABACION

   
Vista:

PROCESO DE GRABACION

Publicado por alexcoinc (449 intervenciones) el 06/12/2008 14:28:33
Saludos programadores del foro.

Lo que pretendo con la siguiente función es agregar un registro en blanco en una tabla abierta en un select determinado, pero que el sistema me informe si hubo algún problema en este aspecto si no se pudo.

He programado este tipo de cuestiones en Clipper, pero como migre mis aplicaciones al VFP 6.0, ahora quiero utilizar algunas funciones como esta, ante todo por su parecido (ojo soloparecido) a Vfp.

*--------------------------------
FUNCTION ADICREPLA
DO WHILE .T.
APPEND BLANK
IF ! NETERR()
EXIT
ENDIF
ENDDO
RETURN .T.

Sé pues lo he ensayado y funciona, que uno en VFP no se tiene que preocupar en bloquear y desbloquear tablas ni registros pues es automático (dependiendo de la configuración del VFP), eso ya lo he vivido y realmente funciona.

Pero mis dudas comienzan en que en una aplicación que tiene aproximadamente 14 terminales accesandola al mismo triempo, funciona dias y dias, meses y meses y de repente empieza a tener problemas en la grabación.
Ahora Ustedes podrían pensar ... PORQUE SE QUE ES EN LA GRABACION ?
Lo sé, pues tengo esta linea sugerida por el foro en mi programa inicial y ella me lleva a la linea del error. La linea es:

ON ERROR WAIT WINDOWS message(1)+STR(LINENO())

Como tengo esa duda, en saber el porque se pega mi aplicación, funcionando en el tiempo consulté en la ayuda y las funciones RLOCK UNLOCK .... Entre otras tambien existen en VFP y entonces pensé usar rutinas como la expresada en la función que les anexo para poder colocar mensajes al usuario y poderle decir... Señor Usuario no se puede grabar, intente mas tarde o algo asi... pero que la aplicación no se rompa.... pues eso se ve muy feo !!

La inquietud general es esa ....LA ANTERIOR ,

PERO HAY OTRAS INQUIETUDES COMO: SABER SI ESE NETERR() DE CLIPPER EXISTE EN VFP o que lo reemplaza ??

O como podría armar mi función.
O porque le puede estar pasando eso a mi aplicación ?... será problemas de hardware o red ??

La grabación la hago asi:

Sele tabla
repla campo1 with variable1

Será que me funciona mejor asi:

Sele tabla
puedo=0
Do while .t. or puedo<5
If rlock()
repla campo1 with variable1
Unlock
Exit
Else
puedo=puedo+1
Endif
Enddo
If puedo<5
message.... Grabación exitosa
Else
message.... Error en la grabación .. Intente mas tarde !!
Endif


Gracias por sus comentarios.

alexcoinc.
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