Ver Mensaje Individual
  #1  
Antiguo 06-01-2009
pablopessoa pablopessoa is offline
Miembro
 
Registrado: may 2008
Ubicación: Argentina
Posts: 162
Reputación: 16
pablopessoa Va por buen camino
Problemas al borrar un archivo desde Delphi

Hola amigos!
tengo una aplicacion que baja de un server ftp una base de datos y la asocia a un AdoConection para usarla para hacer una actualizacion.
El problema es que , una ves que termino de usarla, primero dejo el adoConection vacio (osea, sin referencia a esa base) y luego elimino el archivo mdb.
Donde esta el problema? bueno, cuando termino de usar la base y le quito las referencias al .mdb (base access) algun proceso queda ligado a la base y cuando hago el delete no lo borra, entonces cuando corro de nuevo la actualizacion (sin cerrar la aplicacion) me dice que no puede reemplazar la base por que hay un proceso usandolo, me fijo con el unlocker que proceso es, y obviamente es mi aplicacion.
les muestro el codigo con que lo hago:
asi saco las referencias a la base:
Código Delphi [-]
BaseTemp.Connected:=false;
    BaseTemp.ConnectionString :='';
    BaseTemp.LoginPrompt:=false;
    BaseTemp.Free;

y despues la borro asi :
Código Delphi [-]
if FileExists(carpeta_instalacion+'DATOS\TEMP\temp.MDB') then
        deletefile(carpeta_instalacion+'DATOS\TEMP\temp.MDB');

la cosa es que no lo borra el archivo .mdb, y cuando me voy a fijar si esta, aparece el archivo mdb y al lado el otro que tiene el dibujo del candadito que indica que hay un proceso usandolo.
Alguien sabe a que se debe esto y como puedo arreglarlo? Muchas gracias!!!
Responder Con Cita