HALT = Holzhammer. Sehr gefährlich und sollte auch nur sehr dosiert eingesetzt werden ! Vor allem aber für diesen Zweck unnötig. Benutze ein DataModule und erzeuge das VOR allen Formularen. Platziere das Login in das Create des Datamoduls und sorge dafür, daß das Teil tatsächlich zuallererst erzeugt wird :
Delphi-Quellcode:
Application.Initialize;
Application.Title := '';
Application.CreateForm(TDM, DM);
--> hier notfalls eingreifen
Application.CreateForm(TfrmMenue, frmMenue);
...
Bei mir steht z.B. folgendes im DataModule Create :
Delphi-Quellcode:
procedure TDM.DataModuleCreate(Sender: TObject);
var Ini : TIniFile;
begin
Ini := TIniFile.Create (ExtractFilePath (ParamStr (0)) + '
DB.INI');;
if not CDStart
then
DBName := Ini.ReadString('
Datenbank-Ort','
DBName',ExtractFilePath (ParamStr (0))+'
db\db.fdb')
else
DBName := ExtractFilePath (ParamStr (0)+'
db\db.fdb');
DM.DataBase.Close;
DM.DataBase.DatabaseName := DBName;
DM.DataBase.Open;
DM.Transaction.Active := true;
Ini.free;
end;
Da gehts jetzt nur um den Ort der
DB (aus INI). Mit geringem Aufwand läßt sich da auch ein fehlerhaftes Login abfangen. Bei Start von CD ist hierbei der Ort genau definiert und das wars.