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 Formular von Hand erzeugen (https://www.delphipraxis.net/86088-formular-von-hand-erzeugen.html)

Buddelflink 8. Feb 2007 21:54


Formular von Hand erzeugen
 
Hallo.
Ich möchte in meinem Programm ein Formular von Hand erzeugen und starten. So weit so gut, klappt auch alles! Allerdings habe ich in der OH durch Zufall eine andere Version gefunden. Welchen Code würdet Ihr empfehlen?
Delphi-Quellcode:
// Code 1 - wie ich das sonst immer gemacht habe
Application.CreateForm(TForm1, TestForm);
TestForm.Caption := 'TestForm';
TestForm.Update;
TestForm.ShowModal;
TestForm.Free;
Delphi-Quellcode:
// Code2 abgeändert aus der OH
with TForm1.Create(nil) do
  try
    Caption:= 'TestForm';
    Update;
    ShowModal;
   finally
    Free;
  end;

mkinzler 8. Feb 2007 22:00

Re: Formular von Hand erzeugen
 
Grundsätzlich ist es egal, ob man die Methode der Applikation oder direkt dem Konstruktor der Form benutzt. Nachteil des 2. Codes ist nur, daß keine Referenz gespeichert wird (hat aber nichts mitr der Art der Erzeugung zu tun)

Buddelflink 8. Feb 2007 22:21

Re: Formular von Hand erzeugen
 
In dem Fall spielt die Referenz keine Rolle. Es handelt sich um eine FeiertagsUnit in der lediglich Feiertage einmalig berechnet und als Liste zurückgegeben werden. Da ich diese Unit nur ein paar mal im Jahr benötige wäre es Schmarrn diese ständig geladen in meinem Programm mitzuschleppen.
Danke mkinzler

PS: bin ich eigentlich mit den Ressourcenschutzblöcken auf der sicheren Seite falls es in der Unit knallen sollte oder ist das egal? Wie müsste Code 1 dann aussehen?

raiguen 9. Feb 2007 08:07

Re: Formular von Hand erzeugen
 
Zitat:

Zitat von Buddelflink
...diese ständig geladen in meinem Programm mitzuschleppen.
...

Es ist m.E. unsinnig, sämtliche Formulare eines Programmes gleich beim Start (=automatisch) zu laden/erzeugen! Alle benötigten Formulare erzeuge ich immer erst zur Laufzeit (bspw. mit dem o.a. Code 1) und diese werden nach Abarbeiten wieder geschlossen... Das mal so als dezenter Hinweis...


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