Programación General > C++ Builder
Cómo Manejo El Path Actual?
(1/1)
dfaba:
Hola, mi problema es el siguiente:
al añadir un archivo de ayuda para mi aplicación, Builder me genera el siguente
código:
--- Código: Text ---try { Application->Initialize(); Application->Title = "Verificador de iMelody";[B] Application->HelpFile = "verificador.hlp";[/B] Application->Run(); } catch (Exception &exception) { Application->ShowException(&exception); } return 0; Esto funciona correctamente hasta que desde la aplicación cambio el directorio actual al buscar un fichero para abrir con un OpenDialog; entonces ya no me encuentra el archivo verificador.hlp. ¿Cómo puedo solucionarlo?
Eternal Idol:
O en GetOpenFileName() le pasas OFN_NOCHANGEDIR como flag así no te cambia de directorio o utlizas el path completo del ejecutable para el archivo de ayuda.
Por ejemplo:
char *help_file = (char*)malloc(2048);
ZeroMemory(help_file,2048);
GetCurrentDirectory(help_file,2000);
strcat(help_file,"\\verificador.hlp");
try
{
Application->Initialize();
Application->Title = "Verificador de iMelody";
Application->HelpFile = help_file;
Application->Run();
}
catch (Exception &exception)
{
Application->ShowException(&exception);
}
free(help_file);
return 0;
dfaba:
Olé, muchas gracias!!
La segunda forma me va de fenómenos, no sabía que existía la función
GetCurrentDirectory, y estaba probando con funciones de C estándar,
como getcurdir(), así mucho mejor; gracias de nuevo!
Eternal Idol:
Esa una función de la API de Windows, si estas haciendo un programa con Borland Builder que unicamente va a correr bajo Windows te recomiendo siempre usar la API directamente y no funciones de C.
:comp: :ph34r:
Navegación
Ir a la versión completa