No concuerdo con esa relación que propones Dec, el problema creo que es el concepto de "directorio de trabajo". En todo caso lo claro para mi es que el directorio de trabajo es cualquiera que este dentro de la carpeta que contiene el ejecutable, por que? porque algún componente de terceros u otra situación puede (como tu dijiste) realizar por alguna necesidad un SetCurrentDir y cambiar el "directorio actual" a alguna carpeta totalmente impredecible. Entonces hacer un "GetCurrentDir + '\archivo.txt'" retornaría algo impredecible.
En tal caso la opción #3 no seria la más adecuada. Las otras dos opciones me parecen mas concretas, puesto que solo necesitamos recorrer la cadena retornada por GetModuleFileName para obtener la carpeta.
Saludos
|