Frage zur Erstellung eigener Komponenten
- kpmais
- Beiträge: 42
- Registriert: Di 26. Mai 2020, 08:51
- OS, Lazarus, FPC: Winux (L 2.0.12, FPC 3.2.0; Debian/Win7)
- CPU-Target: x86-64
- Wohnort: Saarlouis/Saarland
Frage zur Erstellung eigener Komponenten
Ich stoße auf folgendes Problem beim Installieren der Komponenten:
Ich nutze in den Komponenten eigene unites, eingebunden in uses.
Diese Units liegen in den jeweiligen Ordnern, in denen alles der Komponente liegt.
Beim Installieren erhalte ich die Message, dass diese Units doppelt/mehrfach vorkommen.
Ist ja auch korrekt.
Was habe ich jetzt für Möglichkeiten?
Muss ich die Units jeweils umbenennen, sodass diese einmalig sind oder besser die units-Klassen in die Komponenten integrieren?
Eigentlich suche ich nach einer Möglichkeit, diese Units aus einem gemeinsamen Pool heraus zu nutzen um die Exe nicht zu sehr auf zu blähen und evtl. mehrfache globale Variablen (wenn vorhanden) ins Feld zu schicken.
Ich bin etwas ratlos .....
Ich nutze in den Komponenten eigene unites, eingebunden in uses.
Diese Units liegen in den jeweiligen Ordnern, in denen alles der Komponente liegt.
Beim Installieren erhalte ich die Message, dass diese Units doppelt/mehrfach vorkommen.
Ist ja auch korrekt.
Was habe ich jetzt für Möglichkeiten?
Muss ich die Units jeweils umbenennen, sodass diese einmalig sind oder besser die units-Klassen in die Komponenten integrieren?
Eigentlich suche ich nach einer Möglichkeit, diese Units aus einem gemeinsamen Pool heraus zu nutzen um die Exe nicht zu sehr auf zu blähen und evtl. mehrfache globale Variablen (wenn vorhanden) ins Feld zu schicken.
Ich bin etwas ratlos .....
- fliegermichl
- Lazarusforum e. V.
- Beiträge: 1435
- Registriert: Do 9. Jun 2011, 09:42
- OS, Lazarus, FPC: Lazarus Fixes FPC Stable
- CPU-Target: 32/64Bit
- Wohnort: Echzell
Re: Frage zur Erstellung eigener Komponenten
unbedingt die units umbenennen! Man kann die ja jetzt auch packagename.unitname.pas nennen.
- kpmais
- Beiträge: 42
- Registriert: Di 26. Mai 2020, 08:51
- OS, Lazarus, FPC: Winux (L 2.0.12, FPC 3.2.0; Debian/Win7)
- CPU-Target: x86-64
- Wohnort: Saarlouis/Saarland
Re: Frage zur Erstellung eigener Komponenten
danke für die schnelle Antwort.
Komme ich wohl nicht daran vorbei.
Den Tipp mit den packagenamen kannte ich noch nicht. Gut für die Orientierung. Nochmal danke.
Da werde ich wohl nicht am Umbenennen herum kommen.
Es ist nur ärgerlich, dass ich bei Änderungen an einer solchen Unit dann alle Komponenten, die diese nutzen, jedes mal manuell und einzeln bearbeiten muss, wenn ich jeweils die aktuelle Version für die Komponenten möchte.
Aber dann ist es leider so .....
Komme ich wohl nicht daran vorbei.
Den Tipp mit den packagenamen kannte ich noch nicht. Gut für die Orientierung. Nochmal danke.
Da werde ich wohl nicht am Umbenennen herum kommen.
Es ist nur ärgerlich, dass ich bei Änderungen an einer solchen Unit dann alle Komponenten, die diese nutzen, jedes mal manuell und einzeln bearbeiten muss, wenn ich jeweils die aktuelle Version für die Komponenten möchte.
Aber dann ist es leider so .....
- Winni
- Beiträge: 1577
- Registriert: Mo 2. Mär 2009, 16:45
- OS, Lazarus, FPC: Laz2.2.2, fpc 3.2.2
- CPU-Target: 64Bit
- Wohnort: Fast Dänemark
Re: Frage zur Erstellung eigener Komponenten
Hi!
Für solche Fälle gibt es in der IDE
Suchen --> In Dateien suchen
wobei auch das Ersetzen möglich ist.
Die IDE ist schon komfortable!
Winni
Für solche Fälle gibt es in der IDE
Suchen --> In Dateien suchen
wobei auch das Ersetzen möglich ist.
Die IDE ist schon komfortable!
Winni
Re: Frage zur Erstellung eigener Komponenten
Bin nicht ganz sicher, aber ich meine, wenn du eine umzubenennende Unit aus der IDE unter anderem Namen speicherst, werden automatisch alle Referenzen auf diese Unit angepasst, zumindest in den geladenen Dateien.
- fliegermichl
- Lazarusforum e. V.
- Beiträge: 1435
- Registriert: Do 9. Jun 2011, 09:42
- OS, Lazarus, FPC: Lazarus Fixes FPC Stable
- CPU-Target: 32/64Bit
- Wohnort: Echzell
Re: Frage zur Erstellung eigener Komponenten
Dann erstelle doch ein Unterpackage mit den Units die auch von den anderen Packages benötigt werden. Ein Package kann doch auch andere Packages einbinden.
-
- Beiträge: 843
- Registriert: Sa 12. Sep 2015, 12:10
- OS, Lazarus, FPC: Laz stable (2.2.6, 3.x)
- CPU-Target: Win 32/64, Linux64
- Wohnort: Wien
Re: Frage zur Erstellung eigener Komponenten
Hmm.... vielleicht habe ich beim Design irgendetwas falsch verstanden und liege völlig falsch.
Aber vorher sollten wir die Begrifflichkeiten klären:
Was ist eine "Komponente" für dich?
Etwas das in Delphi Komponente heißt und in Lazarus Package ?
(Also ein Codekonstrukt das sich in die IDE integrieren lässt - entweder visuell oder nicht visuell)
Oder eine einzelne Komponente innerhalb eines bestimmten Packages? (zb ein Panel oder ein Datacontrol)
Oder schlicht einen Teil deiner Applikation ?
Wiederverwendung von Code ist ein vielschichtiges Thema und ein Balanceakt. Natürlich hab ich auch Codesammlungen zu bestimmten Themen im Laufe der Zeit angesammelt und setze sie durch Einbindung per Uses auch ein. Trotzdem gibt es immer die Abwägung ob man eine ganze Sammlung mit in die Exe reinnimmt oder nur eine einzelne Hilfsfunktion rein kopiert.
Ich versuche die Abhängigkeiten aus einer Applikation zu (gemeinsam mit anderen Applikationen genutzten) Units möglichst gering zu halten. Klappt nur nicht immer
Packages sollten für mich allerdings eigenständig benutzbare Einheiten sein die nur mit ihrem eigenen Code (außer den üblichen Units aus Lazarus) auskommen.
- kpmais
- Beiträge: 42
- Registriert: Di 26. Mai 2020, 08:51
- OS, Lazarus, FPC: Winux (L 2.0.12, FPC 3.2.0; Debian/Win7)
- CPU-Target: x86-64
- Wohnort: Saarlouis/Saarland
Re: Frage zur Erstellung eigener Komponenten
charly, da hast du natürlich recht.
Seitens der Begriffe ist 'Komponente' schon sehr dehnungsfähig.
Programmierung - oder Lazarus-Programmierung - oder Alltagssprache etc.
In dem Punkt (unter anderem) muss ich mich disziplinieren und eindeutiger sein.
Also brauchts die eigenen Units auch wenn sich dadurch die ausführbare Datei etwas vergrößert.
Danke nochmal an alle.
Seitens der Begriffe ist 'Komponente' schon sehr dehnungsfähig.
Programmierung - oder Lazarus-Programmierung - oder Alltagssprache etc.
In dem Punkt (unter anderem) muss ich mich disziplinieren und eindeutiger sein.
Und damit hast du auch recht, denke ich.Packages sollten für mich allerdings eigenständig benutzbare Einheiten sein die nur mit ihrem eigenen Code (außer den üblichen Units aus Lazarus) auskommen.
Also brauchts die eigenen Units auch wenn sich dadurch die ausführbare Datei etwas vergrößert.
Danke nochmal an alle.
-
- Beiträge: 830
- Registriert: Mi 3. Jun 2020, 07:18
- OS, Lazarus, FPC: L 2.0.8, FPC Trunk, OS Win/Linux
- CPU-Target: Aarch64 bis Z80 ;)
- Wohnort: München
Re: Frage zur Erstellung eigener Komponenten
Dank Smartlinking sorgen der Compiler und der Linker dafür, dass nur das in der Binärdatei ist, was auch wirklich verwendet wird. (Hinweis: etwas das über einen initialization oder finalization Bereich verwendet wird, gilt automatisch als verwendet, wenn die Unit vom Hauptprogramm aus über die uses-Abschnitte erreichbar ist)
FPC Compiler Entwickler