Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Laufzeit-Packages verwenden?! (https://www.delphipraxis.net/93165-laufzeit-packages-verwenden.html)

Gecko 1. Jun 2007 16:04


Laufzeit-Packages verwenden?!
 
Hallo,

weiss jemand was die Option "Laufzeit-Packages verwenden" bedeutet?
Findet man unter projekt->optionen->Packages

Auf jedenfall wird die Exe dann 90% kleiner und das programm läuft auch 3x schneller!

Kann mir jemand erklären was diese Option bedeutet und ob das dann Nachteile bei der Weitergabe der Programme o.ä. hat?

Elvis 1. Jun 2007 16:08

Re: Laufzeit-Packages verwenden?!
 
Zitat:

Zitat von Gecko
Hallo,

weiss jemand was die Option "Laufzeit-Packages verwenden" bedeutet?
Findet man unter projekt->optionen->Packages

Alle Packages, die du dort angibst werden dann statisch extern verlinkt. Du musst sie also im such pfad deiner Anwendung haben, wenn du sie starten willst.
Zitat:

Auf jedenfall wird die Exe dann 90% kleiner
Der Inhalt der Units der angegebenen Packages wird ja auch nicht mehr in die Echse gelinkt.

Zitat:

und das programm läuft auch 3x schneller!
Glaube ich nicht. ;)
Zitat:

Kann mir jemand erklären was diese Option bedeutet und ob das dann Nachteile bei der Weitergabe der Programme o.ä. hat?
Siehe meinen ersten Absatz, die Folgen sollten klar sein.

Eins noch: Packages sind compiler-abhängig! Du kannst kein Package aus D7 in einer App aus D2007 benutzen....

Gecko 1. Jun 2007 16:34

Re: Laufzeit-Packages verwenden?!
 
Was mir auffällt, das der RAM Verbrauch mit den Laufzeit-Packages extrem steigt

mkinzler 1. Jun 2007 16:35

Re: Laufzeit-Packages verwenden?!
 
Beim statischen Linken werden nur die Units die verwendet werden gelinkt. In Laufzeitpackages alle.

Elvis 1. Jun 2007 16:40

Re: Laufzeit-Packages verwenden?!
 
Zitat:

Zitat von Gecko
Was mir auffällt, das der RAM Verbrauch mit den Laufzeit-Packages extrem steigt

Packages sind DLLs. Wenn du also ein Package mit 50 Units lädst, von denen du eigentlich nur 5 benutzt, musst du immer noch den Code der 50 Units in den Speicher laden.
Wenn du diese 5 Units in die Echse komplierst muss nur der Code geladen werden.
Hast du mehr als eine Echse/DLL, verschiebt sich das Gleichgewicht aber sehr schnell zum Vorteil von Packages. ;)

_frank_ 1. Jun 2007 16:40

Re: Laufzeit-Packages verwenden?!
 
wird wohl daran liegen, das in den packages die gesamte VCL (also der jeweilige teil halt) drin ist, also teilweise auch Komponenten, die du in deinem Programm gar nicht verwendest. und das wird dann alles geladen. Bei meinem DFM-Editor lade ich nur die "Basis-VCL" (vcl30.dpl bei D3) als Package rein (um Laufzeitpackages überhaupt möglich zu machen, also dynamisches Laden von Komponenten zur laufzeit).Delphi verlinkt aber gleich das ganze repertoire der Packages, wenn du den Haken setzt.

Gruß Frank


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:21 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