Delphi - "Table is Busy"

 
Vista:

"Table is Busy"

Publicado por Diego Romero (67 intervenciones) el 17/12/2001 02:45:27
Hola.
Estoy mostrando una tabla .dbf en un form, eso anda muy bien pero quiero cambiar los indices de la tabla para ello uso este codigo:
procedure TForm1.Button1Click(Sender: TObject);
var
i:integer;
begin
Table1.Active := False;
Table1.Exclusive := True;
Table1.IndexDefs.Update;
for I := 0 to Table1.IndexDefs.Count - 1 do
if Table1.IndexDefs.Items[I].Fields = 'ADES' then
{ set that index as the current index for the table }
Table1.IndexName := Table1.IndexDefs.Items[I].Name;
Table1.Exclusive := False;
Table1.Active := True;
end;

que es el mismo que aparece como ejemplo en la ayuda de Delphi, sin embargo me salta una excepcion "Table Is Busy" cuando se ejecuta la linea
Table1.IndexDefs.Update;
¿alguien puede darme una pista de lo que estoy haciendo mal?, ademas de un DataSource, un Table y un DBGrid, estoy usando un DBNavigator, tiene algo que ver?
Gracias.
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

RE:

Publicado por JACOBO BRITO S. (83 intervenciones) el 17/12/2001 12:41:37
Este error, bueno mas que error es un mensaje de que tu tabla esta ocupada, por otro lado, en otro form o en algun reporte, que posiblemente dejastes abierto en tiempo de diseño o quiza otro programa este utilizando tu tabla...checalo y si no es eso, lo cual no creo lo mencionas otra ves en foro para ayudarte..

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:

Publicado por Diego Romero (67 intervenciones) el 17/12/2001 12:57:32
Bien, resolví el misterio, luego de debugear paso a paso el código descubrí que el 'error' se dá cuando se ejecuta la sentencia:
Table1.Exclusive := True;
esta sentencia hace que la aplicación trate de 'adueñarse' de la tabla para uso exclusivo.
Le pasé mi proyecto a un colega que tiene la versión 6.0 de Delphi, yo tengo la 5.0 y a él no le causa ningún error eso me hizo sospechar que el tema pasaba por el IDE de mi versión, lo que hice fue crear el ejecutable y ejecutarlo por separado sin el IDE y no causó ningún error, mi conclusión es que por algún motivo el IDE de la versión 5.0 mantiene abierta la tabla mientras se está ejecutando la aplicación, pero en la versión 6.0 no ocurre.
De todas formas muchas gracias por tu interés en mi problema. Un saludo.
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