In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.

Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.

oDataSet:nLastError

Foro público de Xailer en español
Responder
fredy[1]
Mensajes: 218
Registrado: Mar Mar 08, 2005 2:03 am

oDataSet:nLastError

Mensaje por fredy[1] »

Hola,
Tengo un mantenimiento de un fichero auxiliar en el cual sólo dejo hacer
modificaciones cuando ningún otro usuario lo está utilizando.
Para ello, la propiedad lShared del Dataset la pongo a .f., así­ como el lDisplayError
del Datasource y el dataset.
La idea es comprobar el oDataSet:nLastError en el Initializate del formulario.
Si me da error es que alguien la tiene abirta y por lo tanto no puedo hacer
modificaciones.
El problema es que nLastError me devuelve 0, cLastError en cambio, sí­ me
dice que la dbf está siendo utilizada por otro usuario.
¿Es eso normal? ¿Qué códigos de error muestra nLastError?
Un saludico,
Fredy
Avatar de Usuario
ignacio
Site Admin
Mensajes: 9447
Registrado: Lun Abr 06, 2015 8:00 pm
Ubicación: Madrid, Spain
Contactar:

oDataSet:nLastError

Mensaje por ignacio »

Fredy,
nLastError tiene valor cuando el RDD o el driver ODBC devuelve algún valor.
En este caso realmente xHarbour no genera un error, ya que es
responsabilidad del programador comprobar NETERR() después de un DbOpen(), y
no se generá ningún error cuando un fichero no se puede abrir.
En casos como este y otros que no generan códigos de error podríamos
inventarnos códigos de error propios o utilizar siempre un socorrido -1 pero
no lo tengo muy claro.
En tu caso yo utilizaría directamente el valor que devuelve el método Open()
para comprobar si la apertura ha sido correcta.
Un saludo,
"Fredy" <fredy@airtel.net> escribió en el mensaje
news:[email=a20b86f3f9c8c765b19e439ed4@news.xailer.com...]a20b86f3f9c8c765b19e439ed4@news.xailer.com...[/email]
> Hola,
>
> Tengo un mantenimiento de un fichero auxiliar en el cual sólo dejo hacer
> modificaciones cuando ningún otro usuario lo está utilizando.
> Para ello, la propiedad lShared del Dataset la pongo a .f., así como el
> lDisplayError del Datasource y el dataset.
> La idea es comprobar el oDataSet:nLastError en el Initializate del
> formulario. Si me da error es que alguien la tiene abirta y por lo tanto
> no puedo hacer modificaciones.
>
> El problema es que nLastError me devuelve 0, cLastError en cambio, sí me
> dice que la dbf está siendo utilizada por otro usuario.
> ¿Es eso normal? ¿Qué códigos de error muestra nLastError?
>
> Un saludico,
> Fredy
>
>
Ignacio Ortiz de Zúñiga
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
Responder