![]() |
problema al saber el directorio actual
Tengo un problema al obtener el directorio actual donde se encuentra el archivo ejecutado. yo uso el siguiente código. Pero el problema está cuando el archivo se ejecuta desde un icono de acceso directo. en inicio/probramas/mi programa/programa.exe
entonces, la cadena devuelta es c:\ cuando realmente el archivo está ubicado en c:\programas\mi_programa. gracias. function GetCurrentDirectory: String; var nBufferLength : DWORD; lpBuffer : PChar; begin nBufferLength := MAX_PATH + 1; GetMem( lpBuffer, nBufferLength ); try if Windows.GetCurrentDirectory( nBufferLength, lpBuffer ) > 0 then Result := lpBuffer; finally FreeMem( lpBuffer ); end; end; |
Para hallar el directorio donde se encuentra tu aplicación es más fácil si usas:
ExtractFilePath(Application.ExeName) // Saludos |
Creo que lo que te dice Román, es lo que estas buscando, de todos modos agrego:
Si quieres averiguar cual es el directorio activo en tu aplicación, ya lo tienes resuelto en SysUtils, con la función GetCurrentDir, que en Win32 no hace mas que utilizar la WinApi GetCurrentDirectory que aplicaste anteriormente. Saludos! |
| La franja horaria es GMT +2. Ahora son las 22:09:42. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi