![]() |
Eigene Komponente die "alles beinhaltet"
Hallo,
Ich habe eine eigene Komponente aus einer WPTools Richtext erstellt. Diese nutzt innerhalb die Debenu QuickPdf Library... Wenn ich nun eine neue Anwendung erstelle mit dieser Komponente muss im Suchpfad der zu Debenu eingetragen werden, sonst "wird QuickpdfLibrary nicht gefunden"! Mein Ziel ist aber ein BPL was alles enthält, so dass mein Kollege diese Komponente nutzen kann ohne Debenu installiert zu haben! Was mache ich falsch? Ciao Stefan |
AW: Eigene Komponente die "alles beinhaltet"
Du kannst deine Komponente mit Laufzeitpackages kompilieren und diese dann mitgeben.
Deine eigenen Quellen kannst Du ja je nach Wunsch beilegen. Von den Fremdkomponenten darfst Du in der Regel die Quellen nicht mitgeben. Schwieriger wird es mit den Designtimepackages. Wenn beispielsweise Deine Komponente Propertyeditoren anderer Anbieter nutzt, kannst Du Probleme bekommen, Diese Propertxeditoren dürfen häufig nicht weiter gegeben werden. Hier lohnt es sich, die Lizenzbedingungen der verwendeten Komponenten genau zu lesen. |
AW: Eigene Komponente die "alles beinhaltet"
Was ist das genaue Ziel? Installationsaufwand zu sparen oder Lizenzkosten?
Bezüglich Installationsaufwand: Wir haben mittlerweile alles (als auch alle genutzten Komponenten) im git liegen. Installation läuft so ab. 1, Delphi entsprechende Installationsanweisung installieren + Konfigurieren (2-3 Einstellungen müssen geändert werden) 2, git (+SourceTree) installiert 3, Repository klonen 4, Batch-Datei zum kompilieren aller Packages ausführen 5, Alle Packages im Package-Zielverzeichnis in der IDE registieren. Zeitaufwand für neuen PC: 1-2 Stunden Bezüglich Lizenzkosten: Das wird nicht erlaubt sein. Will dein Kollege die Libraries in der IDE auch verwenden, so sind Lizenzen nötig. |
AW: Eigene Komponente die "alles beinhaltet"
Du könntest die Debendu-Dateien in das Verzeichnis deiner Komponente kopieren, dann werden sie automatisch gefunden,
aber stell dir das Chaos vor, wenn mehrere Komponenten verwendet werden. Du kannst aber auch Umgebungsvariablen nutzen. Du erstellst dir je eine Variable für die größeren Bibliotheken, wo mehrere Verzeichnisse angegeben werden müssen, (macht den Upgrade und vorallem das Löschen einfacher, da man die Pfade nicht mehr auseinander pflücken muß ... ihr kennt ja das Chaos in der berühmten %PATH% :wall:) und dann eine/mehrere Variablen für zusammengesetzte Pfade aus mehrere Variablen. Mußt nur aufpassen, dass unter gewissen Umständen die Variablen alphabetisch aufgelöst werden. (den Einzelvariablen z.B. einen "_" oder einen kleineren Buchstaben voranstellen) Tools > Optionen... > Umgebungsoptionen > Umgebungsvariablen (die gelten dann nur innehralb der IDE)
Code:
Dann im Suchpfad deiner Programme nur noch
KomponenteA = C:\abc;C:\def
KomponenteB = C:\xyz Komponenten = $(KomponenteA);$(KomponenteB) Komponenten = %KomponenteA%;%KomponenteB% --- ginge auch
Delphi-Quellcode:
anhängen.
;$(Komponenten)
Das Selbe geht auch mit Defines und den Packages. In BildSystemen (ala FinalBuilder oder Jenkins) kann man auch Variablen benutzen und z.B. von dort aus mit Delphi synchronisieren. Und beim CommandLineCompiler wird eine angepasste C:\Program Files (x86)\Embarcadero\Studio\*.0\bin\rsvars.bat verwendet. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:09 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