PDA

Ver la Versión Completa : Problemas con el path de la aplicacion


Walterdf
05-10-2006, 22:11:43
Buenas a todos!!
Estoy haciendo una aplicación donde unas de sus opciones permite enviar un email con un adjunto. Utilizo Delphi 6 con tablas Paradox ya que se trabaja localmente y la cantidad de datos es pequeña.
Los DataBaseName de cada tabla y querys es una carpeta ubicada en el mismo path del ejecutable, es decir, que sería algo asi tabla1.DataBaseName := 'Bases\'

Mi problema viene luego de realizar el envío del email que lo hago a traves de la siguiente función extraída alguna vez de estos mismos foros:


SendMail('Asunto', Cuerpo.Text , ExtractFilePath(Application.ExeName)+'Bases\Adjuntos\Adjunto.pdf',
'', mailorigen@mail.com,'' , mailDestino@mail.com);


(Para esta función tuve que agregar en la uses el modulo MAPI, no puse el código de la función ya que es bastante extensa, de ser necesario la ingreso)

Inmediatamente despues de llamar a esta función no puedo abrir ninguna tabla ni querys, ya que no encuentra el DataBaseName ('Bases\'). Probablemente cometí el error de poner una dirección relativa al path donde se encuentra la aplicación en vez de una absoluta como 'c:\aplicacion\Bases\'. Pero bueno, me gustaría saber porque pasa esto y de que forma podría resolverlo.
Espero que se haya entendido y desde ya agradezco su atención.
Gracias.

Walter

seoane
05-10-2006, 23:13:41
Sin meterme muy en profundidad en el problema, sobre todo porque desconozco el código de la función que mencionas, se me ocurre que puedes volver a colocar el directorio de la aplicación como el directorio actual una vez termina esa función. Es decir:


SendMail('Asunto', Cuerpo.Text , ExtractFilePath(Application.ExeName)+'Bases\Adjuntos\Adjunto.pdf',
'', mailorigen@mail.com,'' , mailDestino@mail.com);

// Y restauras el directorio actual
SetCurrentDir(ExtractFilePath(ParamStr(0)));


Puede parecer una tontería, pero es un comienzo :)

Walterdf
06-10-2006, 00:58:16
seoane, mil gracias por tu respuesta, funcionó de maravillas!!!. Anduve buscando una función así pero no pude ubicarla.
Muchas gracias nuevamente.
Un abrazo

Walter