Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Problemas al eliminar un archivo (https://www.clubdelphi.com/foros/showthread.php?t=72598)

CFPA86 01-03-2011 01:17:37

Problemas al eliminar un archivo
 
Hola a todos los foristas, realizo un programa donde uso varios tablas en una bd (HDA), en un aparte de dicho programa preciso de eliminar una de estas tablas (ANIMALES.DB) del disco duro, uso Paradox, aca esta parte del codigo:
Código Delphi [-]
procedure TFmttodatos.BBaceptarClick(Sender: TObject);
 var
  LArchBor : File;
 begin
//   Hago proceso que debo de realizar con HDA lo realiza bien
  Tanimales.Active         := False;                    // Name de animales
  DSanimales.Enabled       := False;                  // DataSet de Tanimales //
  Tanimales.DatabaseName   := '';
  AssignFile(LArchBor, 'Animales.db');
  Reset(LArchBor);
  CloseFile(LArchBor);
  Erase(LArchBor);                                      // Borrar Animales.db //
 end;

En la linea de Erase (LArchBor) saca el error donde dice que acceso denegado.
Espero haberme dado a entender bien y espero una ayuda de ustedes.
Gracias.

newtron 01-03-2011 09:24:26

Hola.

¿No tendrás el archivo abierto desde otro terminal o desde otro procedimiento? porque yo ese código lo veo correcto.

Saludos

CFPA86 01-03-2011 19:02:13

No el programa es monousuario, ademas por lo poco que se las lineas
Tanimales.Active := False; y
Dsanimales.Enabled := False;
no me desactiva la tabla ANIMALES.DB en el programa, realmente no me explico que esta pasando por eso recurro a lasabiduria de los del foro.
Gracias.

newtron 02-03-2011 20:15:39

¿Por qué no pruebas a borrar el archivo antes de hacer nada? Así descartas que sea del código que estás poniendo.

rastafarey 06-03-2011 17:18:17

Resp
 
Cierra completamente la bd. y prueba con DeleteFile(nopmbrearchivo) haber que pasa.

CFPA86 09-04-2011 17:18:59

Hola amigos foristas, sobre este tema le he encontrado ya mi error (me demore en hacerlo pero loencontre), el codigo queda asi
Código Delphi [-]
procedure TFmttodatos.BBaceptarClick(Sender: TObject);
 var
  LArchBor : File;
 begin
//   Hago proceso que debo de realizar con HDA lo realiza bien
  AssignFile(LArchBor, 'Animales.db');
  Reset(LArchBor);
  CloseFile(LArchBor);
  Tanimales.Active       := False;                    // Name de animales
// DSanimales.Enabled   := False;    // DataSet de Tanimales linea que sobra//
// Tanimales.DatabaseName   := ''; // Lineaque sobra //
  Erase(LArchBor);                                      // Borrar Animales.db //
 end;
La idea o la conclusion a la que llegue es que PRIMERO debo de cerrar el archivo y de SEGUNDO la propiedad active la hago igual a false. Esto funciona tanto con Erase y DeleteFile.
De todas formas quiero darle gracias a todos por prestarle atencion a mi pregunta


La franja horaria es GMT +2. Ahora son las 09:13:42.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi