Einzelnen Beitrag anzeigen

Benutzerbild von Chemiker
Chemiker

Registriert seit: 14. Aug 2005
1.859 Beiträge
 
Delphi 11 Alexandria
 
#9

Re: Globale Vriablen, Record´s oder Objecte Konfigurationsda

  Alt 11. Apr 2009, 15:21
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.
  Mit Zitat antworten Zitat