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/98951-laufzeit-packages-verwenden.html)

hanspeter 4. Sep 2007 14:35


Laufzeit Packages verwenden
 
Hallo,
ich habe mir ein Package mit programmspezifischen Klassen gebaut.
Beim eigentlichen Projekt habe ich den Schalter "Laufzeitpackages verwenden" gesetzt und
unter Modulen "vcl;rtl;eigeneRuntime" angegeben.
Ich probiere jetzt die Anwendung gerade auf einen Delphi-freien Rechner aus und stelle fest,
das bei dieser Konstellation alle verwendeten Module als Laufzeitmodul zur Verfügung gestellt werden müssen.
(Anwendung konnte nicht gestartet werden weil Modul xxx.bpl nicht gefunden wurde.)
Eigentlich ging ich ja davon aus, dass alle nicht in der Liste aufgeführten Module in der Exe verlinkt sind.
Das ist wohl nicht der Fall?

Nebenbei bemerkt D2007 + Vista ist die ganze Componentengeschichte ein reiner Krampf. Immer wieder geht mit dem Neustart die Registrierung für einzelne Module verloren. Bei bereits installierten Modulen kommt plötzlich die Meldung das dieses wegen Abhängigkeiten nicht geladen werden kann. Das Umbenennen eines Moduls (z.B. von ...2006 auf ...2007) wer regelrecht tödlich.
Alle Referenzen in der Registry auf das alte Modul werden nicht gelöscht. Ich habe mit Speedcommander alle Files abgesucht und Referenzen manuell entfernt. Das Installieren von Modulen nach dem Update benötigt oftmals mehrere Neustarts von Delphi.


Gruß
Peter

jbg 4. Sep 2007 18:28

Re: Laufzeit Packages verwenden
 
Zitat:

Zitat von hanspeter
ich habe mir ein Package mit programmspezifischen Klassen gebaut.
Beim eigentlichen Projekt habe ich den Schalter "Laufzeitpackages verwenden" gesetzt und
unter Modulen "vcl;rtl;eigeneRuntime" angegeben.

Was hat denn "eigeneRuntime" so für "require" Packages?

Zitat:

Ich probiere jetzt die Anwendung gerade auf einen Delphi-freien Rechner aus und stelle fest,
das bei dieser Konstellation alle verwendeten Module als Laufzeitmodul zur Verfügung gestellt werden müssen.
(Anwendung konnte nicht gestartet werden weil Modul xxx.bpl nicht gefunden wurde.)
Eigentlich ging ich ja davon aus, dass alle nicht in der Liste aufgeführten Module in der Exe verlinkt sind.
Das ist wohl nicht der Fall?
Kann ich nicht nachvollziehen.

hanspeter 4. Sep 2007 20:59

Re: Laufzeit Packages verwenden
 
Zitat:

Zitat von jbg
Was hat denn "eigeneRuntime" so für "require" Packages?

Heist dass, das alle unter Required aufgeführten Packages ebenfalls als Laufzeitpackage bereitgestellt
werden müssen?

Peter

jbg 4. Sep 2007 22:23

Re: Laufzeit Packages verwenden
 
Ja. Sonst würde da nicht "requires" sondern "contains" stehen. Wenn du die Packages aus "requires" heraus nimmst, werden die Units in dein Package einkompiliert. So mache ich das immer mit der VCL und der RTL. Dadurch erspare ich mir bei meinen eigenen Packages immer diese beiden BPLs (vorausgesetzt, dass du keine weiteren 3rd-Pary Packages als Runtime Packages nutzen willst)

hanspeter 5. Sep 2007 07:47

Re: Laufzeit Packages verwenden
 
Zitat:

Zitat von jbg
Ja. Sonst würde da nicht "requires" sondern "contains" stehen. Wenn du die Packages aus "requires" heraus nimmst, werden die Units in dein Package einkompiliert. So mache ich das immer mit der VCL und der RTL. Dadurch erspare ich mir bei meinen eigenen Packages immer diese beiden BPLs (vorausgesetzt, dass du keine weiteren 3rd-Pary Packages als Runtime Packages nutzen willst)

Danke das probiere ich aus.
Ich möchte ein Programm in mehrere Exe-Files zerlegen.
Hintergrund ist einmal eine Modularisierung und zum anderen bestimmte Programmfunktionalität auch als getrennte
Applikation bereitzustellen.

In allen Modulen benötigte Sachen, wie z.B. Datenmodul möchte ich als Laufzeitpackage bereitstellen, da mir der
Overhead von 2 bis 3 MByte für die Laufzeitbibliothek pro Modul zu groß ist.
Zwischenzeitlich habe ich aber auch Hydra3.0 gekauft und probiere gerade mit diesem Framwork das gewünschte Ziel
zu erreichen.

Gruß
Peter


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