• Jueves 16 de Mayo de 2024, 22:13

Autor Tema:  Cómo Manejo El Path Actual?  (Leído 1699 veces)

dfaba

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
Cómo Manejo El Path Actual?
« en: Jueves 10 de Junio de 2004, 16:14 »
0
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
  1. try
  2.         {
  3.                  Application->Initialize();
  4.                  Application->Title = "Verificador de iMelody";
  5. [B]                 Application->HelpFile = "verificador.hlp";[/B]
  6.                  Application->Run();
  7.         }
  8.         catch (Exception &exception)
  9.         {
  10.                  Application->ShowException(&exception);
  11.         }
  12.         return 0;
  13.  
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

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: Cómo Manejo El Path Actual?
« Respuesta #1 en: Jueves 10 de Junio de 2004, 16:28 »
0
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;

Nacional y Popular En mi país la bandera de Eva es inmortal.


Queremos una Argentina socialmente justa, económicamente libre y  políticamente soberana.
¡Perón cumple, Evita dignifica!


La mano invisible del mercado me robo la billetera.

dfaba

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
Re: Cómo Manejo El Path Actual?
« Respuesta #2 en: Jueves 10 de Junio de 2004, 22:16 »
0
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

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: Cómo Manejo El Path Actual?
« Respuesta #3 en: Viernes 11 de Junio de 2004, 00:14 »
0
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:

Nacional y Popular En mi país la bandera de Eva es inmortal.


Queremos una Argentina socialmente justa, económicamente libre y  políticamente soberana.
¡Perón cumple, Evita dignifica!


La mano invisible del mercado me robo la billetera.