Einzelnen Beitrag anzeigen

Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.252 Beiträge
 
Delphi 2006 Professional
 
#4

Re: Fenster nach Programmstart öffnen?

  Alt 22. Dez 2005, 07:34
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"
  Mit Zitat antworten Zitat