![]() |
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? |
AW: Unit Namen mit Prefix
Zitat:
Dann wird Dir die Möglichkeit zur Änderung angezeigt. |
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. |
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. |
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. |
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:
In den units, die Delphi stören, steht nur
uses
TestUnit in '..\Tests\abc.testunit.pas', ...
Delphi-Quellcode:
Ich weiß, die Daten sind spärlich, aber wo könnte das Problem liegen?
uses
testunit; |
AW: Unit Namen mit Prefix
Delphi-Quellcode:
hier mal besser nicht abkürzen.
TestUnit in '..\Tests\abc.testunit.pas',
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. |
AW: Unit Namen mit Prefix
Zitat:
Das?
Delphi-Quellcode:
Aber da kann ich das Projekt nicht erzeugen, da die unit testunit (bzw. in dem unten aufgeführten code unit1) nicht gefunden wird.
abc.TestUnit in '..\Tests\abc.testunit.pas'
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:
anstatt massenhaft compiler-schalter zu verwenden.
uses
unit1.pas,
Delphi-Quellcode:
Im ersten Fall könnte ich alle units so lassen, wie bisher. Für den zweiten Fall hätte ich einiges aufzuarbeiten.
uses
{$ifdef projekt1} projekt1.unit1.pas, {$endif} {$ifdef projekt2} projekt2.unit1.pas, {$endif} {$ifdef projekt3} projekt3.unit1.pas, {$endif} 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. |
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:
und
Unit2 in 'projekt1.Unit2.pas';
Delphi-Quellcode:
funktioniert jeweils ohne Probleme.
projekt1.Unit2 in 'projekt1.Unit2.pas';
Nur in dem eigentlichen Projekt, in dem ich diese Funktionalität nutzen möchte, gibt es das Problem :-( |
AW: Unit Namen mit Prefix
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:47 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz