Zitat von
stahli:
Ja, aber dann muss ich die bestehende Verbindung in der
IDE vor der Kompilierung ja unbedingt ausschalten....Lässt sich aber vermutlich nicht vermeiden, oder?
Wieso denn das ? Bzw. wozu ?
Du legst den
DB-Namen bzw. Laufwerk, Pfad etc. beim Programmstart fest und fertig. Das DataModule muss dazu nur früh genug erzeugt und bestückt werden. Hier ein Bsp. mit INI :
Delphi-Quellcode:
procedure TDM.DataModuleCreate(Sender: TObject);
var Ini : TIniFile;
begin
Ini := TIniFile.Create (ExtractFilePath (ParamStr (0)) + '
DB.INI');
if not CDStart
then
DatenBankName := Ini.ReadString('
Datenbank','
Name',ExtractFilePath (ParamStr (0))+'
db\db.fdb')
else // falls INI nicht vorh. usw. ^^
DatenBankName := ExtractFilePath (ParamStr (0)+'
db\db.fdb');
DataBase.Close;
// <--- Einstellungen im OI ab hier völlig egal.
DataBase.DatabaseName := DatenBankName;
DataBase.Open;
ReadTransaction.Active := true;
Ini.free;
end;
Genauso gut könnte man einen FileDialog nehmen oder sogar den unvermeidlichen DAU den
DB-Namen von Hand eingeben lassen.
Ist aber zu riskant, deshalb mit INI.