Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Plugins mit BPL Packages realisieren (https://www.delphipraxis.net/94934-plugins-mit-bpl-packages-realisieren.html)

cytrinox 28. Jun 2007 10:08


Plugins mit BPL Packages realisieren
 
Hi,

ich will ein Programm mit Plugins erweitern können, das funktioniert mit BPLs auch ganz gut.
Was mich aber etwas stuzig macht, ist die Sache mit dem require im BPL.

Ich muss ja das Hauptprojekt mit Runtime Packages kompilieren.
Danach muss die *.exe mit den einzelnen *.bpl files (rtl.bpl indycore.bpl usw..) beim Kunden installiert werden.

Will ich nun z.B. nachträglich ein Plugin erstellen, dass z.B. irgendwelche XML Funktionen o.ä. benutzt - wo bekomm ich auf dem Kundenrechner dann die benötigten Packages her? Eigentlich hab ich nur vor die *.bpl Datei als Plugin auszuliefern, aber wenn die BPL irgendwelche anderen BPLs benötigt, müsste ich die ja auch irgendwie nachliefern, oder?

Wenn das so wäre, haut das das ganze Plugin-System in die Tonne, noch schlimmer wärs, wenn man auch die *.exe Datei nochmal neu ausliefern müsste - dann kann man sich die Plugin-Sache ja gleich sparen...

shmia 28. Jun 2007 10:28

Re: Plugins mit BPL Packages realisieren
 
Wenn deine Anwendung und dein Plugin nicht grosse Teile der VCL in Packages auslagert, sondern jeweils dazulinkt, dann ist der Programmcode ja mehrfach auf der Festplatte und im Speicher.

Also müssen jede Menge Runtime-Packages (VCLxx, VCLDBxx, ) installiert werden.
So ein Plug-In System muss von Anfang an gut geplant sein, ansonsten ist es wie du richtig erkannt hast sinnlos.

Ghostwalker 28. Jun 2007 10:36

Re: Plugins mit BPL Packages realisieren
 
Es ist genau das gleiche Spiel wie mit DLL's (BPL's sind nicht viel anders). Wenn eine DLL eine andere DLL benötigt, mußt du beide mit ausliefern. Da BPL's im Grunde nichts anderes sind, verhält es sich da auch so.

Du mußt also die entsprechenden BPL's mit ausliefern, sofern sie nicht schon beim Kunden installiert sind. An und für sich auch logisch.

Wenn du ein neues Plugin schreibst, das XML nutzt (XML.bpl), dann braucht dein Plugin ja irgendwoher die Funktionen, Objekte und Komponenten die in der XML.bpl stecken. Folglich braucht ein Plugin die XML.bpl. :)

Ich hatte mal ein Beispiel (aus dem Entwickler-Mag), wo so ein system beschrieben wird..werd mal suchen.

mkinzler 28. Jun 2007 10:44

Re: Plugins mit BPL Packages realisieren
 
Bpls sind Dlls, welche Delphitypen im Interface erlauben. bei der Verwendung eine Bpl musst du aber die gesammte VCL/RTL usw. auch mitgeben, da die Exe dann mit "Laufzeitbibliotheken" gelinkt werden muß.

cytrinox 28. Jun 2007 13:23

Re: Plugins mit BPL Packages realisieren
 
gut, wenn die *.exe in Verzeichnis X liegt, das Plugin in Verzeichnis Y, kann ich in der *.exe den Suchpfad so ändern, dass er nach eventuell fehlenden *.bpl Dateien im Verzeichnis Y sucht? dann könnte ich die *.bpls direkt mit meiner eigenen Plugin-BPL in ein Verzeichnis installieren.


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