Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   correr un exe hecho en delphi desde un CD (https://www.clubdelphi.com/foros/showthread.php?t=43659)

ernestogiss 17-05-2007 04:45:58

correr un exe hecho en delphi desde un CD
 
Hola a todos.
El problema que tengo es que he creado una aplicación y delphi la ha compilado en un .exe que se ejecuta perfectamente. La aplicación la grabe en un CD. pero cuando ejecuto el exe me dice que no encuentra las bases de datos, pues las está buscando en el directorio donde originalmente estaban (C:\escuela).(Aunque ahora estan grabadas en el CD)(D:\Escuela) Hay alguna forma de ejecutar todo el programa desde el CD sin tener que vaciar nada al disco duro?
Gracias por la ayuda

dec 17-05-2007 04:53:21

Hola,

Siempre que no te sea necesario escribir o guardar información la base de datos, no veo porqué no puede hacerse. De hecho en algún punto tienes que indicar que la base de datos está en "C:\escuela". Pues bien, es cuestión de que utilizes rutas relativas al ejecutable de tu aplicación.

¿Que cómo es esto? Pues muy sencillo. Suponiendo que la base de datos se encuentra en un directorio de nombre "datos" al lado de tu ejecutable (en el mismo directorio), donde ahora especifiques la ruta de la base de datos haz algo como esto:

Código Delphi [-]
var
  rutaBD: string;
begin
  rutaBD := ExtractFilePath(ParamStr(0))+'datos\bdatos.bd';
  {...}
end;

"ExtractFilePath" retorna el directorio en que se encuentra el archivo pasado como parámetro: en este caso "ParamStr(0)", es decir, el propio ejecutable de tu aplicación, de modo que obtenemos el directorio en que se encuentra el ejecutable de tu aplicación.

A continuación le añadimos el resto de la ruta para llegar a la base de datos. La idea es que de este modo dará igual en qué unidad se ejecute tu aplicación, puesto que la ruta de la base de datos se conforma "relativamente" al ejecutable de la aplicación, esté donde esté.

Insisto una vez, aunque seguramente es algo que no se escapa, que en el CD no podrás escribir, así que podrás leer información de la base de datos, pero, no insertar nueva información. Pero supongo que esto ya lo sabes y lo tienes en cuenta.

ernestogiss 18-05-2007 04:03:24

Corriendo Perfectamente
 
Hola Dec
Te agradezco el apoyo y efectivamente, lo que necesitaba es correr la base de datos desde el CD. (Y como tu lo dices, es lógico que no se pueda escribir nada en ellas pues el disco esta cerrado y es de solo lectura)El proyecto es basicamente para guardar archivos de exalumnos de una escuela y no se requiere modificar sus datos. Voy a probar Tu sugerencia y nuevamente GRACIAS


La franja horaria es GMT +2. Ahora son las 02:59:43.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi