Unit Namen: namespaces wie in Delphi

Für Fragen zur Programmiersprache auf welcher Lazarus aufbaut
Benutzeravatar
m.fuchs
Lazarusforum e. V.
Beiträge: 2805
Registriert: Fr 22. Sep 2006, 19:32
OS, Lazarus, FPC: Winux (Lazarus 2.0.10, FPC 3.2.0)
CPU-Target: x86, x64, arm
Wohnort: Berlin
Kontaktdaten:

Re: Unit Namen: namespaces wie in Delphi

Beitrag von m.fuchs »

multiplatform-coder hat geschrieben: Mo 28. Apr 2025, 11:17 Ok, da habe ich also gestern auf Lazarus 3.8 aktualisiert.
Funktioniert es denn nun mit den Punkten im Unitnamen?
Software, Bibliotheken, Vorträge und mehr: https://www.ypa-software.de

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6762
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: Unit Namen: namespaces wie in Delphi

Beitrag von af0815 »

Ich bin auch ein absoluter Fan von "Never change a running system". Aber genau deswegen habe ich zwischen 3 und 5 Installationen parallel auf der Platte. Wobei eine Installation die Produktiv ist, eine die nächste Produktiv. Zwei zum spielen, meistens die aktuellen Mains. Und wie jetzt gerade einen RC.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

Stevie
Beiträge: 162
Registriert: Di 27. Feb 2024, 22:40

Re: Unit Namen: namespaces wie in Delphi

Beitrag von Stevie »

... wie hältst Du das bei deinen vielen Umgebungen Deine Konfigurationen synchron? Kopierst Du jeweils config_lazarus oder synchronisierst Du die mit 'rsync' oder hast Du Dir ein Tool geschrieben, das das macht? Die im Gleichschritt zu halten ist m.M.n. das größte Problem, wenn man ein halbes dutzend Umgebungen betreibt...

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6762
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: Unit Namen: namespaces wie in Delphi

Beitrag von af0815 »

Die installierten Pakete kann man sich im Lazarus als Liste ausgeben, damit kann ich die Listen vergleichen.
Noch dazu bin ich bei Paketen sehr spartanisch unterwegs. Der Spieltrieb wird in eigenen Installationen ausgelebt.
Was noch dazu kommt, für die wichtigsten Pakete habe ich den GIT Stand hier in eigenen Repos eingefroren.

Man darf nicht vergessen, ich hatte die Software für die Firma auch gemanaged und da hat man etwas andere Notwendigkeiten, da man die Software über ein Jahrzehnt pflegen muss.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

wp_xyz
Beiträge: 5129
Registriert: Fr 8. Apr 2011, 09:01

Re: Unit Namen: namespaces wie in Delphi

Beitrag von wp_xyz »

Ich habe noch mehr Lazarus-Installationen auf dem System (mehrere Dutzend). Um eine Synchronisierung kümmere ich mich nicht. Jede Installation bekommt nur minimale Änderungen, es werden nur die Packages installiert, die ich brauche, und wenn, dann weiß ich wo ich sie finden und nachinstallieren kann.

Stevie
Beiträge: 162
Registriert: Di 27. Feb 2024, 22:40

Re: Unit Namen: namespaces wie in Delphi

Beitrag von Stevie »

Klar, wenn einem die Defaults passen, dann ist nicht viel zu tun. Aber alleine das Cursor-Handling ist so weit weg von der Norm, dass ich das jedes Mal ändern muss, um mit der IDE effizient arbeiten zu können. Und auch finde ich, dass die IDE viel harmonischer wirkt, nachdem man 'Step 4' und 'Step 5' aus der (alten) Anleitung http://newpascal.org/docked.html angewendet hat.

Das alles ist natürlich Geschmacksache, aber der Punkt ist eigentlich nur, dass es prima wäre, wenn man Konfigurationen ähnlich einfach wie Projekte exportieren bzw. importieren könnte. :-)

PascalDragon
Beiträge: 945
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: Unit Namen: namespaces wie in Delphi

Beitrag von PascalDragon »

multiplatform-coder hat geschrieben: Sa 26. Apr 2025, 19:42
Warf hat geschrieben: Sa 8. Mär 2025, 11:56 "Namespaces" so zu nennen ist schon sehr optimistisch. Namespaces bedeutet einfach nur das man Punkte in Unit Namen haben darf. Mehr ist es nicht und hat semantisch auch keine Bedeutung (im Gegensatz zu echten Namespaces in anderen Sprachen).

Also im Grunde sind sie wie man bisher Units als prefix_name schreiben konnte, bzw. Wie z.b. die Jedi WinApi es gemacht hat JWAXXX kann man jetzt prefix.name schreiben. That's it.

Wie man geprefixte units benutzt ist jedem selbst überlassen, ich persönlich mach es manchmal so das ich eine Export unit hab die die ganzen subunits included und dann die Typen und Funktionen aus diesen Units exportiert das der Nutzer nur die export unit einbinden muss und nicht jede einzelne subunit kennen muss
Ich kriege aktuell bei Punkt im Unitnamen diese Compilerfehler:

constructors, destructors and class operators must be methods

und ";" expected aber "." gefunden. Muss ich, um Punkt im Unitnamen verwenden zu können irgendwas vorher einstellen?
Was hast du denn bitte genau probiert? Mit einem expliziten Beispiel, bitte. Wie gesagt funktionieren Namespaces schon seit FPC 3.0.0.

Edit: Ich sehe gerade, dass das in diesem Thread ist. Es wäre einfacher Beispiele zu minimeren, dann findet man auch meist Fehler, die man selbst gemacht hat.
FPC Compiler Entwickler

Antworten