Delphi - problemas abrir tabla modo exclusivo

 
Vista:

problemas abrir tabla modo exclusivo

Publicado por raul (16 intervenciones) el 02/05/2001 17:04:03
Hola,

estoy intentando hacer un programa que maneja una tabla DBF y necesito empaquetarla para eliminar los registros borrados. Para empaquetarla uso este procedimiento:

tablaelementos.Close;
tablaelementos.Exclusive := True;
tablaelementos.Open;
DBIPackTable (Tablaelementos.DBHandle,
Tablaelementos.Handle,
nil,nil,True);
Tablaelementos.close;
Tablaelementos.Exclusive := False;

El hecho es que cuando intento ejecutar este procedimiento (dentro del programa principal) resulta que obtengo un error '... exception class EDBEngineError with message 'Table is busy''. El error parece que lo obtengo justo cuando intento abrir la tabla despues de haber impuesto que esté en modo exclusivo.

El procedimiento funciona si lo uso fuera del programa principal (es decir, ejecuto mi programa que manipula la base de datos, lo cierro y abro otro que solo contiene este procedimiento de empaquetamiento).

No entiendo que me ponga 'Table is busy' porque la primera instruccion que le pongo es que me la cierre.

Ciertamente no domino esto del DELPHI y quizas sea un error de bulto en la forma que tengo de controlar la tabla.

Esta tabla la uso tanto desde el form principal como desde otros varios.

¿existe alguna forma de poder cerrar 'totalmente' una tabla de igual forma a como lo hacer el propio programa cuando cerramos el form principal?

muchas gracias por adelantado y saludos a la gente del foro.

RAUL
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

oK

Publicado por JACOBO BRITO S. (83 intervenciones) el 02/05/2001 23:27:09
Este procedimiento envialo al iniciar tu programa en tu primer forma que utilizas para tu programa..en Form1.OnCreate, esto pasa por que estas utilizando tu tabla..checa tambiem que en modo de diseño no tegas la propiedad table1.active = true, por que la tomara como tabla en uso..
suerte..
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:oK

Publicado por raul (16 intervenciones) el 03/05/2001 16:21:37
OK, muchas gracias. Efectivamente, tenia definida en tiempo de diseño la propiedad active como true. Cambiando esto ya no obtengo el problema y me funciona el procedimiento de empaquetado. Muchas gracias.

RAUL
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar