Einzelnen Beitrag anzeigen

alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#5

Re: Loginform soll geschlossen werden bevor MainForm erschei

  Alt 25. Sep 2006, 13:55
Und ich würde sogar das Login-Form als Hauptformular definieren.
Klickt man auf Login, wird einfach eine Instanz des 'Mainforms' erzeugt und angezeigt. Nach Beendigung des MainForms ist man wieder im Login-Formular. Alternativ kann man die Eigenschaft 'ModalResult' des Login-Buttons auch auf mrClose setzen. Im OnClick-Ereignis des Login-Buttons wird die Hauptanwendung mit ShowModal gezeigt. Wenn der Anwender dann in der Hauptanwendung auf 'Beenden' klickt, wird zuerst das Hauptformular und dann der Login-Dialog geschlossen.

Delphi-Quellcode:
Procedure TMyLoginDialog.btLoginClick (Sender : TObject);
Begin
  With TMainForm.Create(Nil) Do Begin
    ShowModal;
    Release;
  End;
  // ModalResult := mrClose; <-- die '//' wegnehmen, wenn der Login-Dialog immer da sein soll.
End;
Das hat gegenüber den anderen beiden Lösungen den Vorteil, das man erstens nicht im Projektquelltext rumwurschteln muss und 2. keine unliebsamen Überrraschungen erlebt, wenn man im OnCreate der Hauptanwendung gleich ein Application.Terminate aufruft.
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat