Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Fichero Ini (https://www.clubdelphi.com/foros/showthread.php?t=37801)

keys 23-11-2006 09:59:22

Fichero Ini
 
Hola a Todos, tengo una aplicación que maneja un fichero INI que esta en el mismo directorio de la aplicación donde guardo unos parametros de configuración. Al entrar en la aplicación el programa lee los parametros y al salir los vuelve a guardar.

Todo funciona correctamente. Pero en el ordenador de una usuario copio el fichero de otro ordenador y la aplicación funciona correctamente. Pero al salir y volver a entrar al comprobar si existe el fichero el programa me retorna que no existe. Voy a la carpeta y el fichero esta en su sitio con los valores que tiene que tener, pero la funcion FileExists me dice que no existe.

Si copio el fichero de otro equipo encima de el el sistema me dice que si quiero reemplarlo le digo que si y el programa funciona corretamente, pero si salgo y vuelvo a entrar me dice que el fichero no existe y lo estoy viendo.

En otros equipos me funciona correctamente. Por cierto el usuario tiene windows XP y como antivirus el PANDA.

Agradecería que alguien me diera alguna pista sobre este tema. Un Saludo y gracias a todos. Agur :-)

dec 23-11-2006 10:10:42

Hola,

No estoy seguro, pero, es posible que la función "FileExists" no funcione cuando se trata de archivos que están en otro ordenador... si es a eso a lo que te refieres, que no me queda claro (no digo que no te expliques bien, digo que a mí no me queda claro, ojo).

Tal vez podráis probar a abrir el archivo... si puedes abrir el archivo es que el archivo existe... vamos... digo yo...

Por cierto, me hizo mucha gracia tu comentario:

Cita:

Si copio el fichero de otro equipo encima de el el sistema me dice que si quiero reemplarlo le digo que si y el programa funciona corretamente, pero si salgo y vuelvo a entrar me dice que el fichero no existe y lo estoy viendo.
Je, je, je,... vamos, que te van a decir que el archivo no existe cuando lo estás viendo... ¡manda narices! :)

Neftali [Germán.Estévez] 23-11-2006 10:20:24

Tal vez algun tema de atributos. ¿Mayúsculas/Minúsculas? (aunque me suena raro). ¿Has probado a realizar lo mismo desactivando los programas de seguridad? Me he encontrado algunos sistemas con antivirus que tenían problemas con ficheros de extensión INI.

keys 23-11-2006 10:24:13

Hola y gracias, el primer sorprendido soy yo. El fichero esta en el mismo ordenador donde esta la aplicacion es un camino 'c:\programa\configuraciones.ini'. Ya se que es gracioso, estoy viendo el fichero pero la función me dice que no existe, como ya he dicho si copi el fichero encima y ejecuto la funcion devuelve que si existe y funciona. Pero al salir y volver a entrar vuelve a decir que no existe.

He probado a poner el fichero como solo lectura y funciona correctamente, pero claro no puedo grabar lo que yo quiero.

Tengo el presentimiento que es un fichero que tiene mucho moviemiento y que por algo el antivirus o el sistema lo este bloqueando. Como ya he dicho en otros ordenadores funciona correctamente. Solo me pasa en este.

Gracias otra vez.

dec 23-11-2006 10:29:15

Hola,

Pues... parecerá una tontería, pero, guarda la ruta del archivo en una variable y, justo antes de ejecutar la función "FileExists" muéstrate a ti mismo (con "ShowMessage", por ejemplo) dicha variable, o sea, la ruta del archivo,... a ver si es que algo está ocurriendo entre medias y al cabo la ruta que se trata de comprobar, efectivamente, no existe...

Es extraño, puesto que dices que sólo te ocurre en un sistema en concreto, pero, personalmente, no se me ocurre otra cosa por el momento...

keys 23-11-2006 10:50:49

Lo primero Gracias otra vez. Lo de la variable ya lo he hecho y el camino es el correcto. Pero me dice que no existe, como ya he dicho si copio el fichero encima otra vez el programa me retorna el mismo camino siempre y funciona, en el momento en que grabo en el algo parece que se estropea, utilizo TINIFILE para manejarlo.

Ya se que parece de broma pero creo que esta todo correcto, hay algo que me esta denegando el acceso a ese fichero.

Un Saludo y gracias otra vez.

Neftali [Germán.Estévez] 23-11-2006 11:32:41

Prueba lo mismo pero cambiando la extensión del fichero.
Que se trabaje con TIniFile no significa que la extension tenga que ser INI. Utiliza otra (por probar).

keys 23-11-2006 17:19:48

Hola a todos otra vez. Cambiando la extensión del fichero me funciona correctamente. Pero el problema es que el programa esta instalado en muchos clientes y ya tienen este fichero .ini creado.

Un Saludo y gracias a todos.

Neftali [Germán.Estévez] 23-11-2006 17:44:38

Normalmente se pueden modificar los antivirus para que "dejen tranquilos" a ficheros con determinadas extensiones.
Otra cosa que yo haría es para la próxima versión hacer el cambio de extensión.

Algo así:
(1) Al guardar, guardas con extensión .cnf (por decir algo)
(2) Al abrir, primero buscas el fichero .cnf y si no existe buscas el .INI
(3) Dentro de un tiempo cuando todos los clientes estén con la nueva versión ya puedes eliminar el código que busca ambos ficheros.


La franja horaria es GMT +2. Ahora son las 05:32:40.

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