Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Rückgabe von Application.CreateForm (https://www.delphipraxis.net/50110-rueckgabe-von-application-createform.html)

BenjaminHelbig 20. Jul 2005 21:34


Rückgabe von Application.CreateForm
 
Hallo liebe DP'ler,

ich habe folgendes Problem. Der Anwender kann zur Laufzeit verschiede MDI Fenster aufrufen. Diese werden zur Laufzeit mit
Delphi-Quellcode:
Application.CreateForm(TNewDBtable, NewDBtable)
für das Form NewDBtable erzeugt. Wenn ich das Form mehrmals erzeuge (z.B. 3 Mal) haben die Forms ja folgende Namen:
NewDBtable, NewDBtable_1, NewDBtable_2
Das ist auch garnichtmal so schlecht, allerdings würde ich gerne beim erzeugen mit
Delphi-Quellcode:
Application.CreateForm(TNewDBtable, NewDBtable)
eine variable
Delphi-Quellcode:
myform : TForm
mit der erzeugten Form belegen.
Aber
Delphi-Quellcode:
Application.CreateForm
liefert mir ja keinen Rückgabewert. Gibts da irgendeine andere Lösung?

Grüße aus Mannheim

Ben

alcaeus 20. Jul 2005 21:41

Re: Rückgabe von Application.CreateForm
 
Ja: statt NewDBTable was anderes verwenden. Der erste Parameter von CreateForm() ist die Formklasse, der zweite eine Variable die, die erstellte Instanz aufnehmen kann ;)

Greetz
alcaeus

Bernhard Geyer 20. Jul 2005 21:53

Re: Rückgabe von Application.CreateForm
 
Bei MDI-Anwendungen sollte der MDI-parent die Verwaltung der erzeugen Formulare übernehmen (z.B. mit einer TObjectList).

Formulare sollte man normalerweise über
Delphi-Quellcode:
myForm := TmyForm.Create(self);
erzeugen und nicht über Application.CreateForm. Dies ist eigentlich nur für die automatische Formularerstellung beim Programstart relevant.


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:41 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 by Thomas Breitkreuz