![]() |
Error al borrar carpetas
Buenas,
Trabajo con Delphi 2006 y me encuentro con este problema: Tengo que borrar una carpeta por código con todo su contenido (he probado ya todas las funciones recursivas y demás que he encontrado en foros), pero no lo elimina hasta que cierro la aplicación. No sé si es porque se queda en la memoria o así, pero he comprobado que el current directory es C:\ para asegurarme de que no se queda en algún directorio que ya esté eliminado. El código de la función que tengo ahora es el siguiente:
Gracias de antemano. |
La función que presentas no es recursiva, por lo que si la carpeta tiene subcarpeta/s no funcionará.
Además de esto, si el archivo empieza por "." tampoco lo borrará. Esto puede darse en algunos casos en de aplicaciones portadas de Linux. Te dejo a continuación tu función, corregida para ser recursiva y con los pasos comentados para aclarar qué es lo que hace en cada paso. Verás que he borrado unas lineas que hacen referencia a Clipboard que parece que no tienen relación con el borrado de una carpeta.
Nota: Tengo esta estructura Código:
c:\Borrame\Prueba
|
1 Archivos Adjunto(s)
Hola,
Antes de nada gracias por responder tan rápido. Lamentablemente, acabo de probarlo y me sigue dando el mismo error: Archivo Adjunto 3199 He de corregir ante lo dicho, que he probado varias funciones recursivas pero al final he utilizado una que no lo sea puesto que mi estructura es como la siguiente: Código:
C:\Borrame Gracias. |
alopete,
Cita:
Revisa esta información: Espero sea útil :) Nelson. |
Hola alopete.
Mirando en el buscador de los foros, encontré esto:
Saludos :) |
Buenos días,
Gracias a todos por vuestras aportaciones. Ya he probado todo tipo de funciones para borrar la carpeta con su contenido, pero yo creo que el principal problema que tengo es que no se me elimina la carpeta hasta que no cierro la aplicación. ¿Alguna idea de por qué puede suceder? Muchas gracias. |
Cita:
|
Hola,
He conseguido solventar mi problema. Al final no ha tenido nada que ver con el código: la cuestión era que tenía una pantalla donde añadía los archivos adjuntos con un componente TSheelListView que tenía puesto la propiedad AutoRefresh a True y al intentar eliminar la carpeta de esos adjuntos no me dejaba porque estaba enlazado. Aún así, muchas gracias a todos! |
La franja horaria es GMT +2. Ahora son las 10:24:18. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi