Forum: Programmieren allgemein
by jaenicke,
11. Jul 2009
Statt das Loginfenster anzuzeigen, hast du ja da auch nur Login_exist abgefragt, was auch immer das bedeuten soll...
Du musst zuerst das Loginfenster anzeigen. Dann fragst du den Login ab und wenn der nicht erfolgreich ist, dann springst du einfach raus. Dann wird das Hauptfenster weder erzeugt noch angezeigt noch irgendwas.
Und was haben Objektinitialisierungen im Loginfenster verloren?...
Forum: Programmieren allgemein
by jaenicke,
11. Jul 2009
Ich habe gerade noch die Freigabe des Formularobjekts hinzugefügt, das hatte ich eben vergessen. ;-)
Forum: Programmieren allgemein
by jaenicke,
11. Jul 2009
Naja, wie ich geschrieben habe... Application.Initialize;
frmLogin := TfrmLogin.Create(nil);
try
if (frmLogin.ShowModal <> mrOk) or (frmLogin.UserName <> 'Test') then
Exit;
finally
frmLogin.Free;
end;
Application.CreateForm(TfrmMain, frmMain);
Application.Run;
Forum: Programmieren allgemein
by jaenicke,
11. Jul 2009
OnCreate wird vor OnShow ausgelöst. Das heißt du könntest an der Stelle auch einfach ein Flag setzen, ob das ausgeführt werden soll.
Aber das ist wie gesagt alles gar nicht notwendig, erzeuge das Hauptformular einfach gar nicht erst, wenn der Login nicht erfolgreich war.
Forum: Programmieren allgemein
by jaenicke,
11. Jul 2009
Man kann das Loginformular auch einfach im Projektquelltext erzeugen. Dann spart man sich die Verrenkung mit der Message und auch gleich das Erzeugen des Hauptfensters, wenn der Login nicht erfolgreich war.
Man darf das Loginfenster nur nicht mit Application.CreateForm erzeugen, sondern muss ganz normal den Konstruktor benutzen, dann geht das...