Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Formulare zu Laufzeit erzeugen oder lieber Uses ? (https://www.delphipraxis.net/57249-formulare-zu-laufzeit-erzeugen-oder-lieber-uses.html)

wlfmario 17. Nov 2005 19:40


Formulare zu Laufzeit erzeugen oder lieber Uses ?
 
Hallo,

welche vorteil hat es wenn man Formulare zur Laufzeit erzeugt und nicht in Uses einträgt ?
Mir ist schon klar das wenn ich ein Projekt mit 30-40 Forms habe das Programm bestimmt schneller wird als über uses oder Irre ich mich ?

gibt es sonst noch Vorteile ? und gibt es eine Tut zur Dynamschen erstellung von Formularen ?

sniper_w 17. Nov 2005 19:47

Re: Formulare zu Laufzeit erzeugen oder lieber Uses ?
 
Zitat:

welche vorteil hat es wenn man Formulare zur Laufzeit erzeugt und nicht in Uses einträgt ?
Hä ? :?

Daniel 17. Nov 2005 19:48

Re: Formulare zu Laufzeit erzeugen oder lieber Uses ?
 
Da bringst Du zwei Dinge durcheinander.

'uses' steuert nur, welche Unit auf welche anderen Units zugreifen kann. Ob die in diesen Units enthaltenen Formulare automatisch erzeugt werden oder nicht, steht auf einem ganz anderen Blatt. Damit hat 'uses' nichts zutun.

Prinzipiell würde ich Dir raten, speichersparend zu arbeiten und Formulare nur dann im Speicher zu halten, wenn Du sie auch benötigst. Eine Ausnahme bestünde jedoch dann, wenn das Erzeugen des Fensters eine sehr teuer Operation ist (aus welchen Gründen auch immer). Solange es aber keine Notwendigkeit gibt, ein Fenster offen zu halten, würde ich es auch nicht offen halten - und Bequemlichkeit zählt hier nicht als "Killer-Argument" für das Offenhalten von Fenstern, selbst wenn man in der freien Wildbahn häufig darauf trifft. ;-)

wlfmario 17. Nov 2005 19:54

Re: Formulare zu Laufzeit erzeugen oder lieber Uses ?
 
Aha Danke für die Antwort !

also wenn ich von meinem Haupt Form ein anderes Form per ShowModal öffne und nach zb. den Eingaben per Close oder ModalResult := mrOK; schliesse ist dies ok.

Hansa 17. Nov 2005 20:51

Re: Formulare zu Laufzeit erzeugen oder lieber Uses ?
 
Ich sehe keinen wichtigen Grund Forms erst zur Laufzeit zu erzeugen. Dies bedeutet nämlich, auch daran zu denken wann und wo sie erzeugt werden. Auch an das caFree muß man im FormClose denken. Bzgl. Speicherverbrauch oder Schnelligkeit eines Programmes habe ich noch keine über ein paar KB
hinausgehende Änderungen bemerkt.

Allerdings erzeuge ich (fast) alle Forms trotzdem zur Laufzeit. Aber nur aus praktischen Überlegungen heraus. So kann man nämlich schön alle Initialisierungen usw. in das FormShow/FormCreate schreiben und das Entfernen ins FormHide/FormClose packen. Somit hat man eine bessere Übersicht. Früher hatte ich das auch nicht so genau genommen und das gab dann : doppelt gefüllte Memos/Listboxen usw. Irgendwo muß dann irgendwas hin und da wird die Listbox geleert und plötzlich ist sie an wieder der falschen Stelle leer. Deshalb schreibe ich den ganzen Krempel lieber ins Formcreate/Close und erzeuge die Form lieber wieder komplett neu. Wird nun was vergessen oder zuviel gemacht, dann wird der Compiler noch helfen und sei es nur durch bessere Fehlermeldung. Doppelt gefüllte Listen und so was kann man damit IMHO etwas eher verhindern, als mit einer Form, die dauernd auf ist.


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:43 Uhr.

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