Delphi-PRAXiS
Seite 3 von 3     123   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Algorithmen, Datenstrukturen und Klassendesign (https://www.delphipraxis.net/78-algorithmen-datenstrukturen-und-klassendesign/)
-   -   Viele Formulare in einem Projekt (https://www.delphipraxis.net/176938-viele-formulare-einem-projekt.html)

Furtbichler 9. Nov 2013 19:17

AW: Viele Formulare in einem Projekt
 
Delphi ist ein RAD-Tool (eigentlich: DAS RAD-Tool). RAD bedeutet in erster Linie 'Rapid'. Und da ist es logisch, das in diesem Kontext die Formulare sofort zur Verfügung stehen. Das könnte man auch mit Lazy-Load umsetzen, aber historisch hat Borcardero das nun mal anders gelöst. Schade eigentlich, aber egal.

Schön wäre so ein Pattern beim Erzeugen eines neuen Formulars: Statt
Delphi-Quellcode:
Unit MyForm;
interface
uses...
Type
  TMyForm...

Var
  MyForm : TMyForm;
...
// in der DPR
Application.CreateForm(MyForm, TMyForm);
einfach so (Lazy Load):

Delphi-Quellcode:
Unit MyForm;
interface
uses...
Type
  TMyForm...

Function MyForm : TMyForm;
implementation
Var
  _myForm : TMyForm:

Function MyForm : TMyForm;
begin
  if _myForm=Nil then Application.CreateForm(_myForm, TMForm);
  result := _myForm
End;

jaenicke 10. Nov 2013 12:34

AW: Viele Formulare in einem Projekt
 
Der Vorteil wäre aber deutlich geringer als bei einer eigenen Umsetzung mit Hintergrundladen.

Dieser Automatismus ist ja nur für kleine Projekte da, damit es erst einmal funktioniert. Bei größeren Projekten macht man das doch ohnehin selbst in Abhängigkeit von den Anforderungen. Deshalb sehe ich gar keine Notwendigkeit das standardmäßig anders zu behandeln.

Furtbichler 10. Nov 2013 21:25

AW: Viele Formulare in einem Projekt
 
Hmm. Stimmt. In meinen Projekten habe ich auch nur wenige ständig instantiierte Formulare (die, die sehr komplex sind). Der Rest wird grundsätzlich erzeugt, ausgeführt und wieder freigegeben.


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:46 Uhr.
Seite 3 von 3     123   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz