Recomendación al usar funcion GetFileopen o GetFileSave
Recientemente al estar trabajando una aplicación en mi oficina, me tope con un problema al utilizar la función GetFileOpen, el asunto es el siguiente: cada vez que ustedes utilizen alguna de estas funciones, su aplicación tomará luego de ejecutada la función, el path en donde seleccionaron el archivo para abrir o guardar, esto quiere decir que si su aplicación esta en el directorio c:\app, y la función Getfileopen o Getfilesave se quedó en el directorio c:\misdocumentos\archivos, el nuevo path de su aplicación será "c:\misdocumentos\archivos", el problema de esto es si tienen algun archivo como una imagen, o un inifile, que lo trabajen sobre el directorio de su aplicación, en este caso simplemente no encontrará estos archivos.
Para solucionar este problema existe la alternativa de guardar el directorio actual de la aplicación para luego reestablecerlo, y la otra claro seria usar un archivo de recursos PBR.
Les doy el ejemplo de la primera alternativa
String ls_pathActual
ls_pathActual = GetCurrentDirectory()
// llamamos a la funcion Getfile open
GetFileOpen (....)
// volvemos a setear el path
setCurrentDirectory (ls_pathActual)
esto evitara el problema.
Espero que si alguno encuentra este error, o conoce a alguien que lo tiene, les pueda brindar esta simple, pero funcional solucion.
Saludos Cordiales
Ing. Carlos A. Lone
Guatemala


2 Comments:
Muy correcto lo que dices, simplemente indicar que usar .pbr es casi un "must to":
a) El usuario no puede acceder a la carpeta de recursos.
b) Se gana control sobre Windows que, en determinados casos (abres otra aplicación, seleccionas un directorio, etc.)puede hacer perder el path a la aplicación.
Un saludo,
PBD
Aprovecho para consultar:
Al usar GetFileOpen, simpre muestra las carpetas con vista de lista. Como puedo hacer para que los archivos se vean como vistas en miniatura?, ya que el usuario elije archivos de imagenes.
Publicar un comentario
<< Home