Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi TForm1.FormCreate -> Form2.Show; (https://www.delphipraxis.net/27516-tform1-formcreate-form2-show%3B.html)

StanY 11. Aug 2004 13:56


TForm1.FormCreate -> Form2.Show;
 
Ich hoffe mal, dass das hier die richtige Kategorie ist...

Warum geht das hier nicht? ^^

Unit1:
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
  Form2.Show;
end;
Ich bekomme eine Fehlermeldung; Programm wird nicht compiliert und folgende Zeile wird als falsch gekenzeichnet:

Project1:
Delphi-Quellcode:
Application.CreateForm(TForm2, Form2);
Warum geht das nicht, wenn ich das Form2.Show; nach dem erstellen der Form1 per Button aufrufe, gibt es keine Probleme?

Wie realisier ich es aber, dass beide Formen gleichzeitig beim Starten des Programms aufgerufen werden?

Vielen Dank, schonmal im Vorraus!

SleepyMaster 11. Aug 2004 14:00

Re: TForm1.FormCreate -> Form2.Show;
 
Delphi-Quellcode:
procedure TForm1.FormShow(Sender: TObject);
begin
  Form2.Show;
end;
das müsstest du eigendlich nehmen können!

Nikolas 11. Aug 2004 14:01

Re: TForm1.FormCreate -> Form2.Show;
 
Das Problem ist wahrscheinlich, dass Form2 nach Form2 kreirt wird. Wenn du also im onCreate von Form1 Form2 anzeigen willst, gibt es Form2 noch nicht. Du könntest einen Timer nehmen, ist zwar nicht so schön geht aber.

StanY 11. Aug 2004 14:02

Re: TForm1.FormCreate -> Form2.Show;
 
Zitat:

Zitat von Toxman
Das Problem ist wahrscheinlich, dass Form2 nach Form2 kreirt wird. Wenn du also im onCreate von Form1 Form2 anzeigen willst, gibt es Form2 noch nicht. Du könntest einen Timer nehmen, ist zwar nicht so schön geht aber.

Aber warum wird der Fehler dann während des Compilieren und nicht während der Laufzeit ausgegeben?

Ich finde die Lösung mit dem Timer auch nicht so schön, denn ich kann ja keine 'Zeit' festlegen, da nciht auf jedem Pc gleich schnell die Forms erstellt sind. Gibt es keine elegantere Lösung?

Aber danke für die schnelle Antwort! :)

SleepyMaster 11. Aug 2004 14:04

Re: TForm1.FormCreate -> Form2.Show;
 
Zitat:

Gibt es keine elegantere Lösung?
Siehe oben

Luckie 11. Aug 2004 14:08

Re: TForm1.FormCreate -> Form2.Show;
 
Zitat:

Zitat von StanY
Aber warum wird der Fehler dann während des Compilieren und nicht während der Laufzeit ausgegeben?

Und wie lautet der Fehler?

mumu 11. Aug 2004 14:11

Re: TForm1.FormCreate -> Form2.Show;
 
sicher, dass es nicht während der laufzeit ist? beim kompilieren kann das ja eigentlich gar nicht sein...

sag mal kompilerfehlermeldung

sepp001 11. Aug 2004 14:26

Re: TForm1.FormCreate -> Form2.Show;
 
Hallo,

wenn die Zeile mit
Delphi-Quellcode:
Application.CreateForm(Tform2, Form2)
angemeckert wird, dann schau mal in der Projektverwaltung nach, ob die Unit, die das Form2 enthält, in das Projekt eingebunden ist. Wenn nicht, kann das diese Fehlermeldung hervorrufen.

Ciao,
sepp001

StanY 11. Aug 2004 14:29

Re: TForm1.FormCreate -> Form2.Show;
 
@mumu: nein, es stimmt doch: Der Fehler kommt _nach_ dem Compilieren.

@sepp001: Die Unit von Form2 wurde mit der Unit von Form1 assoziiert. Ja.

Ich denke mal SleepyMaster hat Recht, und mit einem Timer funktioniert es gut, da man den Intervall ja auf 1 setzen kann, da er auch erst erstellt wird, wenn die Form erstellt wird :).

SirThornberry 11. Aug 2004 14:40

Re: TForm1.FormCreate -> Form2.Show;
 
du könntest auch einfach in das Create von Form2 das show, reinschreiben (bzw. visible eigenschaft setzen) oder du fügst in der Projectdatei hinter
Delphi-Quellcode:
Application.CreateForm(Tform2, Form2)
noch
Delphi-Quellcode:
Form2.Show;
ein


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:33 Uhr.
Seite 1 von 3  1 23      

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