Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Eigenes LiveBinding wohin mit der .pas Datei? (https://www.delphipraxis.net/213495-eigenes-livebinding-wohin-mit-der-pas-datei.html)

fisipjm 7. Aug 2023 14:59

Eigenes LiveBinding wohin mit der .pas Datei?
 
Hi,

ich habe mir ein eigenes Paket für die Konvertierung von ISO8601 zu DateTime gebastelt, die man in der LiveBinding Methode verwenden kann.
In meiner Naivität bin ich davon ausgegangen, dass ich, wenn ich das Paket installiert habe, keine .pas Datei mehr irgendwo mitliefern muss.
Aber die Livebindings nehmen mir automatisch immer die Unit mit in die Uses rein. Wo lege ich die geschickterweise ab, dass ich nicht bei jedem Projekt wo es Livebindings gibt diese Unit mitliefern muss?

Gruß
PJM

peterbelow 7. Aug 2023 15:45

AW: Eigenes LiveBinding wohin mit der .pas Datei?
 
Falls Du eine Run-time package mit dieser unit hast muss die in der package-Liste des Projektes aufgeführt sein, das Projekt dann eh mit run-time packages gebaut werden (tschüs monolithisches EXE) und die package natürlich für den Compiler findbar sein. Dann wird die unit aus der Package eingebunden und weder pas noch dcu sind notwendig.

Falls Du das an andere Programmierer weitergeben willst ist das aber wesentlich mehr Aufwand als die dcu und die design-time package weiterzugeben (falls Du die Source nicht weitergeben willst).

himitsu 7. Aug 2023 16:00

AW: Eigenes LiveBinding wohin mit der .pas Datei?
 
Mit Laufzeit Packages kompiliert, brauchst du nur die DCP, beim Kompilieren,
und die BPL (RuntimePackage) zur Laufzeit.

Ist das nur ein DesignTimePackage, dann die BPL in der IDE,
aber zum Kompilieren wird dennoch die PAS benutzt, oder alternativ die vorkompilierte DCU.
Und falls eine Form dabei ist, dann benötigen sowohl PAS, als auch die DCU, jene DFM.

fisipjm 8. Aug 2023 07:10

AW: Eigenes LiveBinding wohin mit der .pas Datei?
 
Zitat:

Zitat von himitsu (Beitrag 1525388)
Mit Laufzeit Packages kompiliert, brauchst du nur die DCP, beim Kompilieren,
und die BPL (RuntimePackage) zur Laufzeit.

Ist das nur ein DesignTimePackage, dann die BPL in der IDE,
aber zum Kompilieren wird dennoch die PAS benutzt, oder alternativ die vorkompilierte DCU.
Und falls eine Form dabei ist, dann benötigen sowohl PAS, als auch die DCU, jene DFM.

Moin Himitsu,

also, es ist eine Erweiterung für die Livebinding Methoden. Ich würde es also "eigentlich" als DesignTimePackage sehen. Meine Frage war glaube ich etwas ungenau Formuliert. Ich möchte das Package irgendwo an zentraler Stelle ablegen, sodass ich nicht in jedem Projekt, welches LiveBindings verwendet (dann wird die Unit nämlich ab Zeitpunkt der Installation immer in den Uses hinterlegt), die DCU/PAS/BPL mit in das Projektverzeichnis legen muss.
Gibts da nicht einen Zentralen Ordner ohne das ich in den Projekten dann auch irgendwelche Suchpfade etc. anpassen muss?

Gruß
PJM

jaenicke 8. Aug 2023 07:56

AW: Eigenes LiveBinding wohin mit der .pas Datei?
 
Du kannst in den Optionen einen beliebigen Ordner in den Bibliothekspfad aufnehmen, in den du die Unit legst.

Ich selbst kompiliere solche gemeinsamen Units vor und binde dann nur noch den Pfad mit den DCUs ein, damit die nicht immer neu kompiliert werden müssen. Bei nur wenigen Units ist das aber egal.

himitsu 8. Aug 2023 09:40

AW: Eigenes LiveBinding wohin mit der .pas Datei?
 
Zitat:

Zitat von jaenicke (Beitrag 1525392)
Ich selbst kompiliere solche gemeinsamen Units vor und binde dann nur noch den Pfad mit den DCUs ein, damit die nicht immer neu kompiliert werden müssen.

Im FinalBuilder lasse ich vieles parallel kompilieren (MultiThread).
Da ist sowas auch wichtig, damit nicht mehrere Compiler gleichzeitig das schreiben wollen.

Ja, Dateien auf Schreibgeschützt umstellen ... aber so wird auch nicht jedes mal neu kompiliert, wenn man mal "ausversehn" was an der Datei verändert.

fisipjm 8. Aug 2023 12:15

AW: Eigenes LiveBinding wohin mit der .pas Datei?
 
Zitat:

Zitat von jaenicke (Beitrag 1525392)
Du kannst in den Optionen einen beliebigen Ordner in den Bibliothekspfad aufnehmen, in den du die Unit legst.

Ich selbst kompiliere solche gemeinsamen Units vor und binde dann nur noch den Pfad mit den DCUs ein, damit die nicht immer neu kompiliert werden müssen. Bei nur wenigen Units ist das aber egal.

Ja schon, aber das ist doch dann wieder Projektspezifisch. Ich würde das gerne auf dem Enwticklungssystem an irgendeiner stelle fest definieren, ohne es bei jedem Projekt neu machen zu müssen. Packages die man über z.B. GetIt einbindet brauchen ja auch nicht die Dateien zusammen mit dem Projekt und da muss ich auch nicht in jedem neuen Projekt den Pfad angeben, sondern habe ihn da ja auch irgendwie vordefiniert.

Ich steh bestimmt absolut auf dem Schlauch :oops:

himitsu 8. Aug 2023 12:20

AW: Eigenes LiveBinding wohin mit der .pas Datei?
 
Sowas geht auch zentral, in den Optionen der Delphi-IDE. (Tools -> Optionen)

Uwe Raabe 8. Aug 2023 12:21

AW: Eigenes LiveBinding wohin mit der .pas Datei?
 
Zitat:

Zitat von fisipjm (Beitrag 1525415)
Ich würde das gerne auf dem Enwticklungssystem an irgendeiner stelle fest definieren, ohne es bei jedem Projekt neu machen zu müssen.

Sebastian meint Tools - Optionen - Sprache - Bibliothek. Das ist projektübergreifend.


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