FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Delphi genera archivos involuntariamente DEL#.MB
Estimados
Tengo una pregunta antes que un inconveniente, mi aplicacion delphi tengo por ejemplo dentro de una folder c:\desarrollo\aplicacionv1, y dentro de estas estan todas las formas y todos los archivos de delphi incluido el exe, pero al momento que ejecuto en el mismo directorio aparecen archivos con el siguiente formado Del#.MB, en donde # es un número secuencial que me ha llegado hasta el 30 y no se borran despues de cerrar la aplicación. ahora que genere ya los instaladores dejo un acceso directo en el escritorio de la PC y resulta que ahi tambien me genera estos archivos y se llena el escritorio de la PC. Si alguien me puede ayudar por favor, gracias. Adjunto los archivos en un Zip para que lo puedan ver. Última edición por sanfer1ec fecha: 20-03-2007 a las 01:55:34. |
#2
|
||||
|
||||
Según recuerdo esos archivos se crean si trabajas con un Cache, cuando inicias una sesión en la base de datos se crea un archivo temporal por cada tabla que usas con actualizaciones en cache, si cierras correctamente la sesión el archivo temporal se elimina. Si en tu caso no se eliminan los archivos temporales es posible que la sesión no se ha cerrado adecuadamente.
Por otra parte cuando creas un acceso directo a tu aplicación, debes indicarle cuál es el directorio de trabajo para que los archivos temporales se guarden en esa carpeta y no en el escritorio. Saludos. |
#3
|
|||
|
|||
Gracias por tu respuesta
Y tienes razon uso el cache en las tablas de la BD, pero una pregunta, a que te refieres con cerrar la sesion correctamente, lo que lo que yo estoy haciendo es cerrando la aplicacion con
|
#4
|
||||
|
||||
Disculpa me exprese mal, lo que en realidad queria decir es que debes utilizar los métodos ApplyUpdates o CommitUpdates adecuadamente en la base de datos y así mismo los métodos Commit y RollBack para asegurarte que no dejas ninguna actualización pendiente en el cache antes de cerrar tu aplicación.
En la ayuda de Delphi vienen algunos ejemplos acerca del manejo de estas instrucciones. Saludos |
#5
|
|||
|
|||
Gracias por tu pronta respuesta
Pienso que lo estoy manejando bien, por ejemplo yo pongo las siguientes instrucciones:
Y con eso eso visto que aparecen y desaparecen archivos, pero algunos no han desaparecido y se quedan ahi en la carpeta en la que se estan ejecutando, por eso era mi inquietud si he podría borrar de alguna manera al cerrar la aplicación, y no se si eso además es factor para que despues de compilar algunas veces me muestra un mensaje en el que dice que no hay suficinete memoria y lo que me toca hacer es reiniciar la PC y comenzar de nuevo, si me puedes ayudar con esto tambien sería genial. Te agradezco mucho. |
#6
|
||||
|
||||
Vamos a suponer que algo falla justo en la línea que hace dm.DB.Commit;, entonces las líneas posteriores no se ejecutarán y saltará a la sección de except, luego entonces aunque se ejecuta el RollBack no llegas nunca al CommitUpdates que es quien se encarga de limpiar el cache, por lo tanto el archivo temporal no se eliminará.
Espero que sea de utilidad, hace mucho que no uso tablas con actualizaciones en cache Saludos |
#7
|
|||
|
|||
Tienes toda la razon, estoy manejando excepciones, y justamente en un momento determinado controlo esta excepción si no sucede algo y se me pasa sin realizar el commit, estoy teniendo el problema de que si cambio de lugar al commit, en cambio si no sucede la excepción me dar error.
Voy a intentar cambiar de lugar y alternar entre varias alternativas para ver si se soluciona, Gracias |
#8
|
|||
|
|||
Lograste solucionar el problema? A mi me pasa algo parecido pero no logro averiguar la solucion. Os explico:
La aplicacion esta en un servidor y en los equipos clientes hay un acceso directo a esta. El problema es que al imprimir los listados es necesario realizar una consulta para obtener la informacion a listar y esto genera unas tablas temporales, 2 exactamente, y se generan en el escritorio. Al finalizar la impresion del listado una de las tablas se elimina pero la otra se queda en el escritorio y si se intenta eliminar no lo permite da un mensaje diciendo que esta siendo utilizada por otro programa. He comprobado si cierro bien la consulta y lo hago bien intendo hacer un Query.Delete y un Destroy no da resultado. He pensado que pueda ser algo de permisos entre el servidor y los clientes pero hay ya varias aplicaciones montadas de esta misma forma y no me dan este problema. Un saludo! |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Archivos .dat | LucianoRey | Varios | 5 | 02-11-2020 12:08:22 |
No se generan los archivos .dcu | rochi | Varios | 6 | 16-09-2011 20:45:02 |
"enditall" finalizar aplicacs y procesos innecesarios para por ejemplo...editar video | images | API de Windows | 7 | 20-09-2004 10:55:14 |
Archivos INI | Isaac | Varios | 10 | 26-02-2004 15:37:51 |
|