![]() |
Mehrere Instanzen einer Form anzeigen
Hi,
ich habe ein Formular mit ein paar Buttons drauf. Dies heißt Form2. Wenn ich es jetzt anzeigen will, dann schreibe ich:
Delphi-Quellcode:
Doch wie schaffe ich, dass jedes mal beim Aufrufen eine neue Instanz dieser Form angezeigt wird. Die Buttons sollen jedoch nicht ihre Funktion verlieren auf der Form!
Form2.Show;
MFG Lars Wiltfang |
Re: Mehrere Instanzen einer Form anzeigen
Dann musst du dynamisch eine neue Instanz erzeugen
Delphi-Quellcode:
Form := TForm2.Create( Self);
Form.Show; |
Re: Mehrere Instanzen einer Form anzeigen
Eine Form ist auch nur ein TObject. Wie legst Du denn sonst Objektinstanzen an?
[edit] Markus muss mal wieder vorsagen :tongue: [/edit] |
Re: Mehrere Instanzen einer Form anzeigen
Hi,
die Form wird zwar geöffnet aber wenn ich folgenden Code schreibe:
Delphi-Quellcode:
Dann wird in das Label auf Form2 nichts eingetragen!
Form := TForm2.Create( Self);
Form2.label1.caption := 'Nein'; Form.Show; Bei diesem Code kommt ein Fehler, das Label1 nicht gefunden wurde:
Delphi-Quellcode:
Wie geht das?
Form := TForm2.Create( Self);
Form.label1.caption := 'Nein'; Form.Show; |
Re: Mehrere Instanzen einer Form anzeigen
Form muss vom Typ TForm2 sein oder du Castest es entsprechend:
Delphi-Quellcode:
(Form as TForm2).label1.caption := 'Nein';
|
Re: Mehrere Instanzen einer Form anzeigen
Hallo,
wenn du mehrere Fenster, also mehrere Instanzen davon, öffnen willst, mach es doch so:
Delphi-Quellcode:
Dann noch das automatische Erstellen der Form unterbinden
with TForm2.Create(nil) do
try label1.caption := 'Nein'; // Edit: @DeddyH, richtig, Show muss natürlich mit Showmodal ersetzt werden // Show; ShowModal; finally Free; end; Siehe Optionen > Formulare Gruß Jürgen |
Re: Mehrere Instanzen einer Form anzeigen
With ist aber gefährlich
|
Re: Mehrere Instanzen einer Form anzeigen
Und muss es nicht ShowModal sein, damit das Form nicht nur kurz aufblitzt und dann gleich wieder verschwindet?
|
Re: Mehrere Instanzen einer Form anzeigen
Zitat:
|
Re: Mehrere Instanzen einer Form anzeigen
Weil es unter Umständen Doppeldeutigekeiten schafft, wenn Eigenschaften, des mit with angesprochenen Objektes mit Eigenschaften der rufenden Klasse (Self) überlappen.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:57 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