Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Unit Namen mit Prefix (https://www.delphipraxis.net/210011-unit-namen-mit-prefix.html)

TM6 17. Feb 2022 07:33

Delphi-Version: 11 Alexandria

Unit Namen mit Prefix
 
Delphi verwendet Unit-Namen mit Prefixes: Vcl.*, System.*

Auf vcl.forms kann ich entweder über vcl.forms oder aber nur über forms zugreifen.

Kann man so etwas selber nutzen?
Falls ja, wo und wie kann man die eigenen Prefixes verwalten?

Edit:
Wie kann ich in dem Post die Delphi-Version ändern? Da steht 5, aber wir nutzen 10.4/11.0
Das geht per Edit wohl gar nicht, sondern nur, wenn man das Thema eröffnet?

TBx 17. Feb 2022 07:39

AW: Unit Namen mit Prefix
 
Zitat:

Zitat von TM6 (Beitrag 1502352)
Wie kann ich in dem Post die Delphi-Version ändern?

Editiere Deinen Beitrag und klicke auf den Button ERWEITERT.
Dann wird Dir die Möglichkeit zur Änderung angezeigt.

himitsu 17. Feb 2022 08:22

AW: Unit Namen mit Prefix
 
Projekt-Optionen > Erzeugen > Delphi-Compiler > Unit-Gültigkeitsbereichsnamen (Namespace)

Ist auch der Grund, warum beim Upgrade von Projektdateien auf eine neue Delphiversion, Dieses gern fehlt, weil Delphi vergißt das dort einzutragen.

freimatz 17. Feb 2022 12:31

AW: Unit Namen mit Prefix
 
Ja man kann es auch selber einsetzten. Wir machen das hundertfach. Spring4D hats auch.
Leider ist es nicht so schön umgesetzt wie die namespaces in C#. Es ist fast lediglich ein Punkt im Namen.

TM6 17. Feb 2022 14:35

AW: Unit Namen mit Prefix
 
Danke, das hat super funktioniert!

Außer dass sich beim ersten Compilieren Delphi verabschiedet hat.
War einfach kommentarlos weg - das hatte ich bislang noch nie mit Delphi erlebt.

TM6 17. Feb 2022 19:34

AW: Unit Namen mit Prefix
 
Das Ganze funktioniert leider doch nicht ganz so wie gedacht.

Ich kann ein Projekt erzeugen und ohne Probleme starten. Wenn ich aber nur compiliere (STRG+F9), dann gibt es einen fatalen Fehler.

Ich habe "abc" als Bereichsnamen eingegeben und in der dpr steht

Delphi-Quellcode:
uses
  TestUnit in '..\Tests\abc.testunit.pas',
...
In den units, die Delphi stören, steht nur

Delphi-Quellcode:
uses
  testunit;
Ich weiß, die Daten sind spärlich, aber wo könnte das Problem liegen?

himitsu 17. Feb 2022 20:59

AW: Unit Namen mit Prefix
 
Delphi-Quellcode:
TestUnit in '..\Tests\abc.testunit.pas',
hier mal besser nicht abkürzen.


Mit IN sagst du, wo es zu finden ist und wie es heißt.

Ohne IN wird gesucht und bei der Suche werden die Präfixe bachtet.

TM6 18. Feb 2022 08:28

AW: Unit Namen mit Prefix
 
Zitat:

Zitat von himitsu (Beitrag 1502418)
Delphi-Quellcode:
TestUnit in '..\Tests\abc.testunit.pas',
hier mal besser nicht abkürzen.

Was meinst Du damit?

Das?
Delphi-Quellcode:
abc.TestUnit in '..\Tests\abc.testunit.pas'
Aber da kann ich das Projekt nicht erzeugen, da die unit testunit (bzw. in dem unten aufgeführten code unit1) nicht gefunden wird.

Ziel war, dass ich projektabhängig eine unit1 mehrmals erstelle, also zum Beispiel
projekt1.unit1.pas
projekt2.unit1.pas
projekt3.unit1.pas

und auf diese dann nur unit1 zugreife.
Also nur
Delphi-Quellcode:
uses
unit1.pas,
anstatt massenhaft compiler-schalter zu verwenden.
Delphi-Quellcode:
uses
{$ifdef projekt1}
projekt1.unit1.pas,
{$endif}
{$ifdef projekt2}
projekt2.unit1.pas,
{$endif}
{$ifdef projekt3}
projekt3.unit1.pas,
{$endif}
Im ersten Fall könnte ich alle units so lassen, wie bisher. Für den zweiten Fall hätte ich einiges aufzuarbeiten.
Aktuell habe ich die unit1 noch nicht aufgesplittet. Das ist aber notwendigund ich dachte, dass es mit den Prefixen einfach ohne große Änderungen gehen würde.

TM6 18. Feb 2022 08:50

AW: Unit Namen mit Prefix
 
Ich habe das Ganze auch in Delphi 10.4 getestet. Dasselbe Verhalten.

Danach hatte ich ein neues Testprojekt erstellt und da läuft alles problemlos.
Und da ist es dann auch egal, was ich in die dpr schreibe

Delphi-Quellcode:
  Unit2 in 'projekt1.Unit2.pas';
und
Delphi-Quellcode:
  projekt1.Unit2 in 'projekt1.Unit2.pas';
funktioniert jeweils ohne Probleme.

Nur in dem eigentlichen Projekt, in dem ich diese Funktionalität nutzen möchte, gibt es das Problem :-(

Uwe Raabe 18. Feb 2022 08:52

AW: Unit Namen mit Prefix
 
Zitat:

Zitat von TM6 (Beitrag 1502434)
Danach hatte ich ein neues Testprojekt erstellt und da läuft alles problemlos.

Die Gültigkeitsbereichsnamen werden je nach Konfiguration und Plattform getrennt angegeben. Kann es sein, das da noch was nicht ganz korrekt ist?


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:04 Uhr.
Seite 1 von 2  1 2      

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