Hola
Bueno erasmorc, la verdad tienes y no razon en que el componente adoconnection configura la direccion de la base de datos en tiempo de ejecucion, por que digo tienes y no, porque en realidad la conexion la necesitas para hacer el programa, no necesariamente para distribuirlo o ejecutarlo.
Si usas un datamodule y un archivo .ini, puedes copiar la ruta que usa el adoconection y cambiarla en el ini muy facilmente.
Un ejemplo con mysql:
En el datamodule:
Código Delphi
[-]
procedure TDataModule1.DataModuleCreate(Sender: TObject);
Var BaseDeDatos, ConStr : String;
IniFile: TIniFile;
begin
IniFile := TIniFile.Create(ExtractFilePath(Application.ExeName)+'Archivo.ini');
BasedeDatos := IniFile.ReadString('BD','Path','');
If BasedeDatos = '' then ShowMessage('Error al cargar Base de Datos');
ConStr := 'Provider=MSDASQL.1;'+
'Data Source='+BaseDeDatos+';'+
'Persist Security Info=True'; AC1.ConnectionString := ConStr;
AC1.Open;
end;
Como veras, al iniciar el datamodule, este busca primero el archivo.ini que contiene lo que quieras, en mi caso el nombre de la base de datos, pero puedes ponerle toda la direccion si es el caso asi:
Archivo.ini:
Cita:
[BD]
Path="Basedatos"
[Logon]
Auto="NO"
Login=""
Pass=""
|
Al distribuir el ejecutable, se distribuye el archivo.ini, que lo puede modificar cualquiera facilmente.
Bueno espero te sirva de otro ejemplo.
Saludos