![]() |
Form2 bei Form1 Oncreate aufrufen !
Hi
ich bekomme immer Fehler, wenn ich versuche Form2 so aufrufe
Delphi-Quellcode:
Form1 (MainForm) ist ein Login Fenster, wo man das Passwort eingibt
procedure TForm1.FormCreate(Sender: TObject);
begin if passwort='123' then Form2.ShowModal(); end; also wenn der User das Passwort vorher eingegeben hat und gespeichert, hat Form1 kein Sinn mehr. Deswegen wird zuerst überprüft on das Passwort richtig ist, wenn ja, dann wird Form2 aufgerufen sonst wird For1 (Mainform) angezeigt, damit der User das Passwort eingibt. Wie kann ich das am besten machen ? |
Re: Form2 bei Form1 Oncreate aufrufen !
Auf jedenfall nicht im Create-Event. Besser vor dem Öffnen von Form1
|
Re: Form2 bei Form1 Oncreate aufrufen !
Tipp: Nicht das LogIn-Fenster sondern das HauptFenster deiner Anwendung sollte die MainForm sein.
Mfg |
Re: Form2 bei Form1 Oncreate aufrufen !
Die MainForm ist das Hauptfenster :mrgreen: . Das Problem ist, dass Form2 zum Zeitpunkt des Erstellens von Form1 (MainForm) noch gar nicht erstellt wurde. Deshalb reicht ein einfaches ShowModal nicht mehr aus.
|
Re: Form2 bei Form1 Oncreate aufrufen !
Mit Hauptfenster war aber jetzt nicht die MainForm gemeint, sondern das "zentrale" Fenster der Anwendung. Konnte mich nur gerade nicht richtig ausdrücken :mrgreen:
|
Re: Form2 bei Form1 Oncreate aufrufen !
Wie wärs mit OnShow?
|
Re: Form2 bei Form1 Oncreate aufrufen !
Wie wärs mit OnButtonBestaetigenClick? Wenn ich mich einloggen will, muss ich ja im Login erstmal Benutzernamen und Kennwort eingeben. Das kann ich im OnCreate des Login-Formulars ja noch gar nicht.
|
Re: Form2 bei Form1 Oncreate aufrufen !
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo, im Anhang mal eine Möglichkeit, eine Login Form anzuzeigen
Prinzip: Login Form zeigen, falls Login ok Mainform zeigen. Der Hauptcode ist in der dpr Datei zu finden.
Delphi-Quellcode:
var
LoginForm: TfrmLogin; begin Application.Initialize; // Login Fenster erzeugen with TfrmLogin.Create(Application) do try // Login Fenster anzeigen ShowModal; // Falls nicht OK Anwendung beenden if not (ModalResult = mrOK) then Exit; finally // Free wird auch ausgeführt bei Abbruch der Anwendung Free end; // Hauptform starten falls Login erfolgreich Application.CreateForm(TfrmMain, frmMain); Application.CreateForm(TfrmLogin, frmLogin); Application.Run; end. |
Re: Form2 bei Form1 Oncreate aufrufen !
Liste der Anhänge anzeigen (Anzahl: 1)
Damit mein Ziel oder mein Problem bei euch klar wird, habe ich eine Skizze erstellt
Delphi-Quellcode:
Der Code soll bearbeitet werden, da mansch mal 2 Forms nach dem Klick auf Button1 (Start) aufgerufen werden !!!
procedure TForm1.Button1Click(Sender: TObject);
// else oder error Fenster sind nicht erwünscht begin if edit1.text <> edit2.Text then begin Form1.Show; end; if (password <> '123') and (edit1.text = edit2.Text) then begin Form2.Show; end; if (password = '123') and (edit1.text = edit2.Text) then begin Form3.Show; end; end; |
Re: Form2 bei Form1 Oncreate aufrufen !
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin if edit1.text <> edit2.Text then begin Form1.Show; end else if (password <> '123') then begin Form2.Show; end else begin Form3.Show; end; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:03 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz