El 18/01/2013 16:29, Jose Daboin escribi�:
Show quoted text 7 lines
Si era eso, lo cambie al directorio raiz y funciono correctamente, pero
porq antes funcionaba y ahora no, eso es lo que no logro explicar. Pero
bueno, ya veo que es problemas de privilegios. Otra cosa, quiere decir
que si hago una aplicacion que quiera compartir debo de instalar
directamente en C? me pregunto yo: �Para que es la carpeta de
instalacion de Programas entonces?
Hola,
Los archivos que se abren para escritura no pueden estar localizados dentro de "Archivos de Programa" ni en "C:\" (te fallar� en W7, vista, y superiores). Esos archivos deben estar (si son permanentes) en la carpeta de datos del usuario (si s�lo es para ese usuario) o en la carpeta de datos de todos los usuarios. Si son archivos temporales, lo mismo, en la carpeta del usuario de temporales, de modo que si nos cargamos el usuario todos sus archivos relacionados se mueren con �l, pero no los de la aplicaci�n que puede estar usando otro usuario.
Si los archivos de usuario deben de estar disponibles con desktop deslocalizado en un dominio, estos deben de estar en el Roaming correspondiente, etc.
Windows dispone de API para decirnos cuales son estos directorios. Lazarus al ser multiplataforma s�lo nos provee de funciones que son compatibles entre todos los sistemas operativos, y para eso dispones de funciones como "GetTemporalFile" que nos da un fichero temporal (localizado correctamente, en su carpeta) o "getUserDataFolder" (no estoy seguro 100% del nombre de la funci�n) que nos da donde hay que guardar los datos de usuario.
Cualquier informaci�n fuera de esos directorios se considera o imposible de grabar (como C:\) o insegura (no protegida por las pol�ticas de privacidad entre usuarios) y s�lo se debe de usar cuando hay un motivo suficientemente fuerte. Por ejemplo en mi m�quina de desarrollo tengo los diferentes Lazarus en F:\ fuera de todo control de usuarios o pol�ticas de seguridad, de modo que puedo acceder a ellos desde cualquier usuario y hacer lo que quiera sin control por parte de Windows. Claro que si pulso suprimir en F:\Lazarus windows me va a dejar hacerlo, cosa que no es deseable a menos que seas un usuario avanzado.