FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
Conflicto con archivos
Hola, estoy teniendo un problema a la hora de seleccionar un archivo en la aplicacion, me explico. Si pulso el boton "x" para abrir el explorador y seleccionar un archivo, lo selecciono y una vez tengo el nombre del archivo en un edit, vuelvo a repetir los mismos pasos pero con otro archivo y seguidamente vuelvo a seleccionar el archivo anterior (con lo que el edit vuelve a mostrar el archivo seleccionado la primera vez), la aplicacion me devuelve el mensaje "el archivo ya esta en uso por otra aplicacion".
En resumen.. 1º pulso el boton abrir 2º selecciono un archivo "x" 3º en un edit aparece el nombre del archivo "x" 4º pulso el boton abrir 5º selecciono un archivo "y" 6º en el mismo edit aparece el nombre del archivo "y" borrando el nombre del anterior 7º vuelvo a pulsar el boton abrir 8º selecciono el mismo archivo "x" 9º la aplicacion muestra el mensaje "archivo en uso..." y no me deja seleccionarlo, cuando en realidad el ultimo archivo fue el "y" ¿Existe alguna forma o metodo de quitar de memoria un archivo previamente seleccionado al actual? Esto digamos que se repite una y otra vez, por ejemplo si selecciono un nuevo archivo llamado "z", y luego quiero seleccionar el "x" o el "y", no me deja por que supuestamente ambos estan siendo usados. Espero que alguien tenga alguna idea y pueda ayudarme. Gracias y un saludo. |
#2
|
||||
|
||||
puedes colocar el codigo?
lo abres para editarlo?, leerlo? grabarlo?
__________________
Dulce Regalo que Satanas manda para mi..... |
#3
|
||||
|
||||
El código sería este:
El archivo se abre (desde otro proceso) para lectura. La verdad es que no consigo avanzar mas por culpa de esto y me tiene Gracias y un saludo. |
#4
|
||||
|
||||
Según el código que has puesto no parece haber error.
Salvo en la función ConvertFileSizes (que he tenido que desactivar). ¿Puedes ejecutar paso a paso y ver dónde se produce el error?
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#5
|
|||
|
|||
Para mi que estas abriendo el archivo...
1 - Prueba a seleccionar el archivo "X". 2 - Volver a seleccionar el archivo "X". Si estoy en lo cierto el error se producirá... Si es así deberías ver si no debes hacer un close al archivo antes de salir del procedimiento. P/D: Probé tu código y a excepción de ConvertFileSizes(Size) que supongo es una función propia no genera ningún Error... Saludos...
__________________
Saluda Atte Neeruu!!! :) |
#6
|
||||
|
||||
Hola, si es cierto abro 2 veces el archivo "X" pero entre estas dos veces abro el archivo "Y", es decir, la secuencia seria esta: "x" --> "y" --> "x" con lo cual al abrir "y" no deberia darme error al intentar abrir "x" ¿no? con tanta x e y es un lio, espero estar explicandome bien.
saludos y gracias. |
#7
|
||||
|
||||
Cita:
Tál como te mencionó Neftalí el código que se visualiza no tendría que dar ese error. Si limitas el código a: verás que te cansas de seleccionar alternadamente dos archivos sin que se produzca la situación que mencionas. También coincido con Neeruu que pareciera que en otro punto del programa estas abriendo el archivo seleccionado sin cerrarlo. ¿ En la función ConvertFileSizes tal vez ? Saludos
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
#8
|
||||
|
||||
Eso es API de windows. Revisa:
http://msdn.microsoft.com/en-us/libr...(v=vs.85).aspx Estas obteniendo un handle y no lo estas liberando.
__________________
El malabarista. |
#9
|
||||
|
||||
Buenas a todos, ya lo he arreglado! me ha costao verlo macho!! mamcx con el handle cerrado seguí fallando, lo que pasaba es que en otro procedimiento hacía una llamada al mismo archivo, pero de otro modo, entonces claro por un lado estaba cerrado pero por otro seguí abierto y este estado ultimo es el que llevaba la voz cantante.
en ese otro procedimiento tenía estas lineas:
y por eso fallaba, tan solo tenía que poner "FileQ.Destroy" y ya va pegando tiros!! Gracias a todos por vuestros aportes! ahora a ver que nueva pega sale. Saludos. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Conflicto de puertos con Indy | davidrgh | Internet | 0 | 16-01-2012 14:06:47 |
Conflicto al Imprimir ¿? | Alejandro73 | Impresión | 0 | 01-02-2008 20:01:28 |
Conflicto con SQL Dialect BDE | rikr2rv | Firebird e Interbase | 2 | 28-08-2007 23:58:04 |
QuickReport: Conflicto de versiones | Mauro.NET | Impresión | 2 | 08-09-2005 14:13:21 |
Conflicto con Session1. | danytorres | Varios | 10 | 30-06-2005 23:33:56 |
|