Ich habe einige Units mit Funktionen, welche ich zukünftig in verschiedenen Programmen (Projekten) verwenden möchte.
Bisher habe ich die Datei(n) einfach in das Projektverzeichnis kopiert.... was natürlich blöde ist, wenn ich die mal erweitern will....
Jetzt las ich, dass man das über Packages löst und habe ein "tools.lpk" angelegt und da mal eine unit hinzugefügt.
Lazarus findet nun die darin befindliche unit in meinem neuen Projekt.
Allerdings findet er (Compiler) nun nicht die units, welche in der Tools-Unit im uses Block stehen.
So meckert er nun über "graphics", was im aufrufenden Programm ebenfalls in der uses steht und dort meckert der Compiler nicht....
Muss ich nun alle uses ebenfalls mit "Hinzufügen" dem Packages hinzufügen oder geht das anders/einfacher?
Ich hoffe es versteht jemand meine neue Anfängerfrage
Tools-Unit in allen Projkten benutzen
-
- Beiträge: 65
- Registriert: Mi 29. Jan 2014, 18:31
- OS, Lazarus, FPC: Ubuntu 20.04 LTS (L 2.0.6 FPC 3.3.1)
- CPU-Target: 64Bit
Tools-Unit in allen Projkten benutzen
Kubuntu 20.04 LTS
- Jorg3000
- Lazarusforum e. V.
- Beiträge: 168
- Registriert: So 10. Okt 2021, 10:24
- OS, Lazarus, FPC: Win64
- Wohnort: NRW
Re: Tools-Unit in allen Projkten benutzen
Hi!
Ich kannte früher Packages nicht und habe deshalb in der Dateiordner-Hierarchie einen übergeordneten/parallelen Ordner zu meinen Projekten angelegt, in den ich meine Projekt-übergreifenden Units ablege, z.B. ...
\Projekt1\
\Projekt2\
\Projekt3\
\übergreifende Units\
Sobald ich in der Lazarus-IDE in einem Projekt erstmals eine Unit aus dem diesem Ordner lade/hinzufüge, wird man gefragt, ob dieser Ordner auch in den Suchpfad des geöffneten Projekts eingetragen werden soll.
Ab dann kann man alle Units des Ordners einfach über die uses-Klausel einbinden.
Wenn man seine allgemeinen Funktionen schön pflegt und immer im Hinblick auch auf seine anderen Projekte weiterentwickelt, verbessern sich alle eigenen Projekte nach und nach quasi automatisch.
Inzwischen programmiere ich immer so, dass ich kaum noch Projekt-spezifische Funktionen programmiere, sondern immer versuche allgemeingültige Funktionen für meine Sammlung übergreifender Units zu erstellen.
Grüße, Jörg
Ich kannte früher Packages nicht und habe deshalb in der Dateiordner-Hierarchie einen übergeordneten/parallelen Ordner zu meinen Projekten angelegt, in den ich meine Projekt-übergreifenden Units ablege, z.B. ...
\Projekt1\
\Projekt2\
\Projekt3\
\übergreifende Units\
Sobald ich in der Lazarus-IDE in einem Projekt erstmals eine Unit aus dem diesem Ordner lade/hinzufüge, wird man gefragt, ob dieser Ordner auch in den Suchpfad des geöffneten Projekts eingetragen werden soll.
Ab dann kann man alle Units des Ordners einfach über die uses-Klausel einbinden.
Wenn man seine allgemeinen Funktionen schön pflegt und immer im Hinblick auch auf seine anderen Projekte weiterentwickelt, verbessern sich alle eigenen Projekte nach und nach quasi automatisch.
Inzwischen programmiere ich immer so, dass ich kaum noch Projekt-spezifische Funktionen programmiere, sondern immer versuche allgemeingültige Funktionen für meine Sammlung übergreifender Units zu erstellen.
Grüße, Jörg
- corpsman
- Lazarusforum e. V.
- Beiträge: 1496
- Registriert: Sa 28. Feb 2009, 08:54
- OS, Lazarus, FPC: Linux Mint Mate, Lazarus GIT Head, FPC 3.0
- CPU-Target: 64Bit
- Wohnort: Stuttgart
- Kontaktdaten:
Re: Tools-Unit in allen Projkten benutzen
+1 für Jorg3000
ich mache das auch so, meine "libs" sind dabei aber noch zusätzlich Separiert (Graphik Erweiterungen, OpenGL Erweiterungen, Parser, Netzwerk, Mathematisches ...)
Ich gehe dann sogar immer noch den Schritt und pflege nicht nur die 1. Datei (mit Suchpfad) im Projektinspektor nach, sondern alle. Damit kann ich dann mittels meines Project Collectors und des Project Uncollectors meine Projekte schnell und einfach auf Rechner Synchronisieren, welche nicht an meinem Versionskontrollsystem hängen.
ich mache das auch so, meine "libs" sind dabei aber noch zusätzlich Separiert (Graphik Erweiterungen, OpenGL Erweiterungen, Parser, Netzwerk, Mathematisches ...)
Ich gehe dann sogar immer noch den Schritt und pflege nicht nur die 1. Datei (mit Suchpfad) im Projektinspektor nach, sondern alle. Damit kann ich dann mittels meines Project Collectors und des Project Uncollectors meine Projekte schnell und einfach auf Rechner Synchronisieren, welche nicht an meinem Versionskontrollsystem hängen.
--
Just try it
Just try it
Re: Tools-Unit in allen Projkten benutzen
Das liegt daran, daß du in deinem Programm schon das Package LCL eingebunden hattest. Das macht Lazarus automatisch, wenn du unter Projekt -> Neues Projekt eine neue Anwendung erstellst (steht sogar dabei im Hinweisfenster).
Wenn du nun selber Packages erstellst, die bestimmte Abhängigkeiten benötigen, musst du diese einfach auch da einfügen. Öffne dazu einfach das eigene Package und klicke auf den Button <"+" Hinzufügen> -> Neue Anforderung und wähle das Package LCL aus (für Grahpics würde auch LCLBase ausreichen).
Code: Alles auswählen
type
TLiveSelection = (lsMoney, lsChilds, lsTime);
TLive = Array[0..1] of TLiveSelection;
- Ally
- Beiträge: 263
- Registriert: Do 11. Jun 2009, 09:25
- OS, Lazarus, FPC: Win und Lazarus Stable release
- CPU-Target: x64
Re: Tools-Unit in allen Projkten benutzen
Bei mir funktioniert folgendes ganz gut:
Projekt
--Projekteinstellungen...
----Compilereinstellungen
------Pfade
bei Andere Units den Pfad auswählen unter dem die gewünschten Units liegen.
Projekt
--Projekteinstellungen...
----Compilereinstellungen
------Pfade
bei Andere Units den Pfad auswählen unter dem die gewünschten Units liegen.
Re: Tools-Unit in allen Projkten benutzen
Naja, viele Wege führen nach Rom.
Aber Packages sind schon der offizielle "Lazarus Weg" für dieses Problem.
https://wiki.freepascal.org/Lazarus_Pac ... mmon_units
Aber Packages sind schon der offizielle "Lazarus Weg" für dieses Problem.
https://wiki.freepascal.org/Lazarus_Pac ... mmon_units
- fliegermichl
- Lazarusforum e. V.
- Beiträge: 1430
- Registriert: Do 9. Jun 2011, 09:42
- OS, Lazarus, FPC: Lazarus Fixes FPC Stable
- CPU-Target: 32/64Bit
- Wohnort: Echzell
Re: Tools-Unit in allen Projkten benutzen
und manuell Unitpfade zu Packageverzeichnissen hinzufügen, geht garantiert irgendwann in die Hose!theo hat geschrieben: ↑Do 10. Feb 2022, 11:19Naja, viele Wege führen nach Rom.
Aber Packages sind schon der offizielle "Lazarus Weg" für dieses Problem.
https://wiki.freepascal.org/Lazarus_Pac ... mmon_units