FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
¿Como elimino las tablas temporales que me genera mi Exe?
Hola amigos, hace dias termine un pequeño modulo en Delphi que crea reportes con FastReport, las tablas que uso y a las que me conecto via BDE , son de VFox Pro, en mi Form utilizo Tquerys para filtrar los reportes por fechas, al ejecutar mi exe ya compilado siempre , me arroja unas tablas temporales de Tipo VFox, y ahi se quedan , imaginense cada que ejecuto mi exe se generan esas dichosas tablas, ya mi carpeta es un basurero, ahora imaginense como va a quedar en la maquina de mi cliente, ¿ alguien sabe como evitar que aparescan esas tablas temporales y porque salen?
Las tablas que aparecen dicen mas o menos asi: _QSQLxxx.DBF es decir: _QSQL244.DBF Muchisimas gracias.
__________________
IcebergDelphi LIA. Hiber tadeo Moreno Tovilla. INITEC Software |
#2
|
||||
|
||||
Yo crearía una función que al cerrar la aplicación borrara todos los archivos de ese tipo.
Te pongo un ejemplo, tendrías que darlo unos retoques mínimos para construirte una Procedure o Funcion lo que más te convenga. Código:
procedure TForm1.Button1Click(Sender: TObject); var MiDir:String;//Donde están los ficheros MisFicheros:String;//Cadena que contiene el nombre con comodines Rbusqueda:TSearchRec;//Está definida en la unidad SysUtils begin MiDir:='d:\Pruebas\'; MisFicheros:='_*.Dbf'; if FindFirst(MiDir+MisFicheros,faanyfile, Rbusqueda)= 0 then begin DeleteFile(Pchar(MiDir+Rbusqueda.Name)); //Borro el primero si Existe //Busco todos los del mismo patrón y los borro While FindNext(Rbusqueda) = 0 do begin DeleteFile(Pchar(MiDir+Rbusqueda.Name)); end; //Ambas funciones devuelven 0 si la búsqueda tiene éxito. end; |
#3
|
|||
|
|||
Hola:
Te aconsejo que asignes un directorio adrede para esos archivos temporales, esto lo haces mediante la propiedad PrivateDir del Session (si no quieres colocar un componente TSession a propósito para esto, lo puedes asignar a la veriable global Session en el OnCreate del Datamodule principal). De esta forma el borrado de archivos basura te será más fácil y no te arriesgarás a borrar algo sagrado. Como dice Marcos Zorrilla, lo ideal es que sea tu programa quien se encargue de esa labor (aunque a veces se quedan ahí precisamente porque el programa se ha colgado o cualquier imprevisto). Aún recuerdo cuando estos archivos se me quedaban en el mismo directorio que el ejecutable y por teléfono le decía al cliente cómo borrarlos (me recorría un sudor frío por el cuerpo). Un saludo |
|
|
|