Page 1 of 1

Bloqueo tabla dbf (Browse)

Posted: Tue Jun 29, 2010 9:01 pm
by jparada
Hola,

En un control Browse, estoy desplegando una tabla dbf, al tratar de eliminar un registro, me genera el error DBFCDX/1022 Se requiere bloqueo.

La rutina que utilizo para abrir las tablas dbfs, tiene algo así:

Code: Select all

DbUseArea( .T., , M->_Default + hb_osPathSeparator() + aDbfs[i], cAlias, .T. )
Lo importante de aquí es que las tablas las abro en modo compartido.

Al tratar de hacer:

Code: Select all

Articulos->( DbDelete() )
Es donde sucede el error,

Estas rutinas de apertura de tablas siempre me han funcionado, trabajando con Clipper o Harbour modo consola, sin ningún problema y de la misma manera desplegando los datos en un TBrowseDb.

Quisiera saber por qué el error de bloqueo, alguna ayuda por favor.

Gracias.

Re: Bloqueo tabla dbf (Browse)

Posted: Tue Jun 29, 2010 10:38 pm
by srvet_claudio
Hola Javier,
No soy experto en el manejo de base de dados, pero siempre que trabajas con recursos compartidos (o que otros pueden acceder al mismo tiempo) necesitas trabar el recurso para que otro no lo intente escribir al mismo tiempo que vos. Creo que lo que necesitas es:
1) trabar la base de datos o el registro: con la función Lock ()
2) escribir o borrar el registro
3) destrabarla inmediatamente: con la función Unlock (), para permitir la escritura por otros usuarios.

Espero haberte sido de alguna ayuda.
Saludos,
Claudio Soto.

Re: Bloqueo tabla dbf (Browse)

Posted: Tue Jun 29, 2010 10:44 pm
by srvet_claudio
Javier en la sección de ayuda de HMG, al final existe una sección CA-Clipper 5.3 donde podrás encontrar la sintaxis de todos los comandos y funciones de Clipper.

Re: Bloqueo tabla dbf (Browse)

Posted: Tue Jun 29, 2010 11:03 pm
by jparada
Hola Claudio,

Gracias por contestar,

Yo tampoco soy experto, pero comenté, estas rutinas de apertura de datos las he utilizado sin ningún problema en aplicaciones de consola Clipper y actualmente en aplicaciones de Consola Harbour conjuntamente con TBrowseDb con n cantidad de usuarios accesando a los mismos datos de forma simultanea (red).

Y siempre ha funcionado sin ningún problema, esas mismas rutinas las trato de aplicar en una aplicación HMG gráfica, y estoy teniendo problemas con el error comentado.

Mi duda es, si en control Browse hará algún bloqueo "por su cuenta", o qué pudiera pasar, ya que las rutinas funcionan en modo consola, tal vez alguien con experiencia en el desplegado de datos en un control Browse me pudiera ayudar dandome algún tip ó consejo, para aclararme el panorama y saber como atacar este problema.

Tu ayuda Claudio siempre es valiosa.

Gracias por ayudarme.

Saludos

Re: Bloqueo tabla dbf (Browse)

Posted: Wed Jun 30, 2010 8:26 am
by mustafa
Hola jparada
Te paso una rutina que algun compañero puso en esta Web
pero que no recuerdo su nombre , yo me limite añadirle alguna cosa.
Haber si te puede servir la idea.
Un Saludo
Mustafa

Re: Bloqueo tabla dbf (Browse)

Posted: Wed Jun 30, 2010 8:32 pm
by jparada
Hola Mustafa y Claudio,

Fué una burrada mía, (aunque me quedo con algo de duda), pero ya esta resuelto.

Muchas Gracias a los dos por contestar.

Saludos

Re: Bloqueo tabla dbf (Browse)

Posted: Wed Jun 30, 2010 10:17 pm
by srvet_claudio
Me alegro Javier que hallas podido solucionarlo.
Saludos,
Claudio.