PDA

Ver la Versión Completa : Obtener PATH del ejecutable


emeceuy
25-05-2004, 07:16:48
Hola a todos...

Quería saber si hay alguna manera de obtener (guardar en una variable string, por ejemplo) el path o la ruta en donde se encuentra alojado el ejecutable que he creado con Delphi.

Por ejemplo, si mi programa se encuentra en el directorio "C:\clubdelphi", querría poder guardar en una variable el contenido de esa cadena.

Desde ya muchisimas gracias por su ayuda...
saludos

mArCeLo

roman
25-05-2004, 07:28:05
Application.ExeName o ParamStr(0) contienen la ruta completa al ejecutable incluyendo el nombre. De ahí puedes obtener sólo la ruta usando ExtractFilePath.

// Saludos

GaaK
20-01-2006, 19:21:11
Hola y gracias por la respuesta:

Manejando base de datos creadas con paradox (tablas) tengo un problema.

Sabiendo que el bendito ALIAS es el DatabaseName, he hecho lo siguiente: Una tabla Table1 con su respectivo DataSource, DBGrid y todo eso han sido configurados con DatabaseName 'C:\', y TableName 'pim.DB'... esto quiere decir que el archivo 'pim.DB' se encuentra almacenado en 'C:\' ...

Si se realiza el cambio dejando en blanco la propiedad DatabaseName de Table1, y agregando en el FormCreate algo como:
Table1.DatabaseName := ExtractFilePath(ParamStr(0));
Table1.Open;
Con este cambio funciona correctamente en mi PC, pero en ninguna otra... He intentado con ExtractFilePath(Application.ExeName) y lo mismo...

Cuál es mi error? ...

- GaaK -
PD: La idea es que pim.DB y el ejecutable están en una misma ruta

Fernando
24-01-2006, 06:22:08
Utiliza:

ExtractFilePath(Application.ExeName)

Saludos

roman
24-01-2006, 06:28:59
He intentado con ExtractFilePath(Application.ExeName) y lo mismo...



Utiliza:

ExtractFilePath(Application.ExeName)


:confused:

// Saludos

Fernando
24-01-2006, 07:02:20
Los mortales cometemos errores, Usted perdone.

Saludos.

jachguate
25-01-2006, 02:31:50
Seguramente estas dejando la tabla abierta en modo de diseño, de tal manera que la tabla se intenta abrir realmente mucho antes de que se ejecute el OnCreate, cuando se está estableciendo las propiedades leidas del dfm. Para cuando se ejecuta el OnCreate, en tu máquina (que si existe el archivo en dicha ruta) ya la tabla está abierta, y en otras máquinas ya no llega a ejecutarse porque ha ocurrido un error al cargar la forma.

Lo que corresponde es dejar la tabla cerrada en diseño para que el invento funcione, o poner el código que indica la posición de la tabla en un evento que se dispare independientemente de si la tabla quedó abierta en modo diseño o se está abriendo por código en ejecución.

Hasta luego.

;)

Jonnathan
25-01-2006, 17:59:46
Con este cambio funciona correctamente en mi PC, pero en ninguna otra...
Tal vez es una sugerencia tonta pero... estas usando BDE para conectar con paradox? instalas las librerías BDE en las PCs donde haces la prueba?:confused: