Zitat von
Apollonius:
Wie man unschwer erkennen kann, wird form1 vor form2 erzeugt. Also folgende Reihenfolge:
Form1 erzeugen
Form1.onCreate
Form2 erzeugen
Du rufst nun aber im FormCreate eine Methode (show) eines Objektes(form2) auf, das gar nicht existiert. Setze das Ganze ins onShow, das müsste auch funktionieren.
Ok, stimmt dummer Denkfehler
Allerdings gibts dann immer noch den Fehler wenns nur im onShow steht, also noch schnell was vertauscht und es scheint zu gehen...
Delphi-Quellcode:
Application.Initialize;
Application.Title := 'XYZ';
Application.CreateForm(TForm2, Form2);
Application.CreateForm(TForm1, Form1);
Application.CreateForm(TForm3, Form3);
Application.Run;
Wunderbar
edit: doch nicht... Jetzt kommt plötzlich ein Fehler das er Visible nicht bei OnShow und OnHide verändern kann...
Code sieht mittlerweile so aus:
Delphi-Quellcode:
begin
Application.Initialize;
Application.Title := 'XYZ';
Application.CreateForm(TForm4, Form4);
Application.CreateForm(TForm1, Form1);
Application.CreateForm(TForm2, Form2);
Application.CreateForm(TForm3, Form3);
Application.Run;
end.
und so...
Delphi-Quellcode:
procedure TForm1.FormShow(Sender: TObject);
begin
Form1.Visible := false;
Form4.Show;
sleep(2000);
Form1.Visible := true;
Form4.Visible := false;
end;