Zitat von
MCXSC:
... Wie kann ich ein zweites Formular im OnCreate-Ereignis des Hauptformular öffnen? Bei mir kommt da immer eine Fehlermeldung.
Hai MCXSC,
das Fehler kommt weil zu dem Zeitpunkt wo Du
Form2.ShowModal aufrufst dein Instanz von TForm2 noch nicht erzeugt wurde.
In deiner Projekt.dpr werden die Forms der reihe nach erzeugt. Da Du aber auf das .OnCreate der TForm1 reagierst ist deine Instanz von TForm2 natürlich noch nicht erzeugt
Delphi-Quellcode:
begin
Application.Initialize;
Application.CreateForm(TForm1, Form1); // Form1 wird erzeugt und das OnCreate von Form1 wird aufgerufen.
Application.CreateForm(TForm2, Form2); // Erst DANACH wird Form2 erzeugt.
Application.Run;
end.
Am einfachsten kannst Du das umgehen in dem Du deinen Code nicht in das OnCreate schreibst sondern in das OnActivate der Form
Delphi-Quellcode:
procedure TForm1.FormActivate(Sender: TObject);
begin
Form2.ShowModal;
end;
Stephan B.
"Lasst den Gänsen ihre Füßchen"