FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
leer metadatos en un archivo
Hola amigos del foro. Vuelvo para pedirles ayuda.
Con Delphi 5 estoy trabajando en una aplicacion para leer y escribir metadatos en un archivo, mas precisamente el IDTAG en archivos multimedia. En pricipio lo habia hecho con "TFileStream", pero de esta manera no podia acceder al archivo si estaba siendo usado por otra aplicacion, termine usando "AssignFile" que de esta manera no tengo problema si el archivo esta siendo usado por otro. Pero ahora me encuentro con el problema que cuando el archivo es de "solo lectura" me genera un error (acceso al archivo denegado). Como puedo hacer para no tener este problema? Gracias. |
#2
|
||||
|
||||
Cita:
Estaría bien además que pusieras código para ver cómo estás abriendo el fichero. Una opción podría ser la de dar la posibilidad de guardar una copia (igual que hacen otros programas) cuando el archivo está siendo utilizado por otra aplicación.
__________________
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. |
#3
|
|||
|
|||
esto es algo de lo que hago:
Con respecto a que otra aplicacion lo use no es el problema, con AssignFile lo solucione, o sea por mas que otro usuario con otra aplicacion este usando el archivo (por ejemplo en un recurso compartido de red), mi aplicacion lo lee igual. Ahora cuando el archivo tiene la propiedad "solo lectura" no lo puedo leer dese mi aplicacion. Con respecto de hacer una copia no lo veo viable porque puede ser un archivo demasiado grande y tardaria demasiado en hacer la copia. Gracias |
#4
|
||||
|
||||
Cita:
Opino igual que Neftali, depende de los atributos con haya abierto el archivo la otra aplicación. Si lo hizo omitiendo el modo FILE_SHARE_READ no lo vas a solucionar con AssignFile, cuya función es sólo asociar un nombre externo a una variable de archivo. De todos modos, fijate si te puede servir el contenido de este enlace: Como leer ficheros de texto que estan siendo usados por otro proceso Saludos
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
#5
|
|||
|
|||
Gracias por sus respuestas, logre hacerlo funcionar con "readfile" y "writefile" quedo algo asi:
No funciona bien con "TFileStream" y "AssignFile". Ahora me encuentro con el problema de que bajo Windows XP funciona perfecto, pero en Windows Vista y seven, no graba el archivo. Lo ejecute como administrador y tampoco. Cambio algo con estas versiones de Win? |
#6
|
|||
|
|||
He estado leyendo algo al respecto, y encuentro algo como esto: Createfile falla con Windows 7 no logro entender bien, pero puede ser que Win7 no deja sobreescribir el archivo?
|
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Metadatos en Delphi | avechuche | Varios | 10 | 19-09-2013 10:10:24 |
Extrayendo metadatos | cesarsoftware | Firebird e Interbase | 11 | 26-11-2012 22:32:19 |
Leer archivo XLS | toni.vi | Servers | 0 | 14-05-2012 15:36:22 |
Leer Archivo txt | Yssik | OOP | 5 | 26-01-2007 16:12:15 |
Extraer metadatos | RONPABLO | Firebird e Interbase | 2 | 22-10-2004 20:04:56 |
|