Ein paar zusätzliche Infos wären nicht schlecht.
- schreibst den registry key mit dem connectionstring wärend des setups un die registry oder machst du das, wie ich es vermute, im onCreate deiner Mainform ?
Wenn das so ist, schau dir mal an wir ich das gemacht habe ...
//TAdoConnection.WillConnect(...);
Delphi-Quellcode:
Procedure TData.connWillConnect(Connection: TADOConnection;
var ConnectionString, UserID, Password: WideString;
var ConnectOptions: TConnectOption; var EventStatus: TEventStatus);
var reg:tregistry;
begin
reg:=Tregistry.Create;
try
try
reg.RootKey:=HKEY_LOCAL_MACHINE;
reg.OpenKey('\Software\ESS\DaxoKal',true);
if reg.ValueExists('DBDir') then DataPath:=reg.ReadString('DBDir') else Datapath:=Programmpfad;
if reg.ValueExists('altDBDir') then altDataPath:=reg.ReadString('altDBDir') else altDatapath:=Programmpfad;
finally
reg.Free;
end;
except
end;
if Fileexists(Datapath+'\data.mdb') then
begin
if connectionstring<>DataPath+'\data.mdb' then Connectionstring:=DataPath+'\data.mdb';
main.DBLabel.Caption:='Datenbank: '+Connectionstring;
end
else begin
if Fileexists(altDatapath+'\data.mdb') then
begin
if connectionstring<>altDataPath+'\data.mdb' then Connectionstring:=altDataPath+'\data.mdb';
main.DBLabel.Caption:='Datenbank: '+Connectionstring;
end
else begin
Showmessage('DaxoKal konnte keine Verbindung zu der Primären und Alternativen Datenbank herstellen.'+#13#10+
'Bitte Überprüfen Sie Ihre Installation und die Zugriffsrechte auf die Datenbankverzeichnisse.'+#13#10+
'Primäre Datenbank : '+Datapath+'\data.mdb'+#13#10+
'Alternative Datenbank : '+altDatapath+'\data.mdb'
);
Abort;
end;
end;
end;
[edit=Christian Seehase]Code-Tags durch Delphi-Tags ersetzt. Mfg, Christian Seehase[/edit]