Hallo,
wenn man ein Datenmodul benutzt kann man zum Beispiel das Speichern und Laden der INI-Datei im Datenmodul unterbringen.
Delphi-Quellcode:
procedure TDM.DataModuleCreate(Sender: TObject);
var
Test: Boolean;
DBVerbindungsDaten: TDBVerbindungDaten;
aInitDateiName: TFileName;
begin
IniPathName(aInitDateiName);
if not FileExists(aInitDateiName) then
begin
// Es besteht keine Verbindung zur Datenbank
TfrmDatenBankVerbinden.GetData1 (Test, DM.SPSDAPDataBase,
DM.SPSDAPDataSet, DM.SPSDAPTransactionPruefen);
end else
begin
DBVerbindungsDaten:= TDBVerbindungDaten.Create;
try
DBVerbindungsDaten.DBDatenIniLesen(aInitDateiName);
DM.SPSDAPDataBase.DBName:= DBVerbindungsDaten.DBPathName;
DM.SPSDAPDataBase.LibraryName:= DBVerbindungsDaten.FBLibaray;
DM.SPSDAPDataBase.ConnectParams.UserName:= DBVerbindungsDaten.DBNutzer;
DM.SPSDAPDataBase.ConnectParams.Password:= DBVerbindungsDaten.DBPasswort;
finally
DBVerbindungsDaten.Free;
end;
end;
beim Verlassen des Programms werden die aktuellen Verbindungsdaten wieder in die INI-Datei geschrieben.
Delphi-Quellcode:
procedure TDM.DataModuleDestroy(Sender: TObject);
var
DBVerbindungsDaten: TDBVerbindungDaten;
aInitDateiName: TFileName;
begin
IniPathName(aInitDateiName);
DBVerbindungsDaten:= TDBVerbindungDaten.Create;
try
DBVerbindungsDaten.DBPathName:= DM.SPSDAPDataBase.DBName;
DBVerbindungsDaten.FBLibaray:= DM.SPSDAPDataBase.LibraryName;
DBVerbindungsDaten.DBNutzer:= DM.SPSDAPDataBase.ConnectParams.UserName;
DBVerbindungsDaten.DBPasswort:= DM.SPSDAPDataBase.ConnectParams.Password;
DBVerbindungsDaten.DBDatenIniSchreiben(aInitDateiName);
finally
DBVerbindungsDaten.Free;
end;
Damit das ganze Funktioniert muss in der Project-Datei die Datei als erstes stehen:
Delphi-Quellcode:
program SPSDAP2009;
uses
uDatenBankVerbindung in 'SPSDAP-Datenbank\uDatenBankVerbindung.pas' {frmDatenBankVerbinden},
uSPSDAPDM in 'SPSDAP-Datenbank\Datenmodul\uSPSDAPDM.pas' {DM: TDataModule},
usw.
Außer für die Forms habe ich im gesamten Programm keine globale Variablen.
Bis bald Chemiker
wer gesund ist hat 1000 wünsche wer krank ist nur einen.