Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Unit Scope Names (https://www.delphipraxis.net/167088-unit-scope-names.html)

Jonas Shinaniganz 13. Mär 2012 08:14

Unit Scope Names
 
Gebt Ihr euren Units Scope Namen? Wann genau macht es denn Sinn? Die Namen von Units in einem Delphi Projekt müssen doch eindeutig sein wenn man mit embacadero Tools arbeitet?

Beispiel:

Zitat:

Syntax and Description

<unitscope>.<unitname>. ...

For example, the SysUtils unit is now part of the System unit scope, as follows:

System.SysUtils

Zitat:

Unit scope names are prefixes that are prepended to unit names in the VCL-FMX-RTL libraries. That is, names of units, functions, classes, and members now have a unit scope name prepended to the unit name, as follows:
Zitat:

Important: RAD Studio now supports a unit scope name or prefix in addition to the namespace or unit name. In order for a name to be considered fully qualified, the unit scope name must be included. For more details, see Unit Scope Names.

Hier wird erläutert wie man einen Scopenamen setzt.

http://docwiki.embarcadero.com/RADSt...Own_Components

Panthrax 14. Mär 2012 14:18

AW: Unit Scope Names
 
Ja. Sinnvoll und wir nutzen es. Für mich bzw. für uns machen wir das so:
Code:
EigeneBezeichner ::= Hersteller '.' Klassifikation '.' Bezeichner;
Klassifikation ::= (Produktname | Entwicklungsname | 'Cascades');
Bezeichner ::= [Namensraum '.'] Name;
Namensraum ::= Bezeichner;
Der Bezeichner ergibt sich aus einer logischen Gruppenbildung.

Fremde Bibliotheken werden (manchmal) kaskadiert. Der Bezeichner ist dann die Originalbezeichnung der Unit. Es werden die qualifizierten XE-2-Bezeichner verwendet und ggf. mit Schaltern abwärtskompatibel gemacht. Kaskaden enthalten Erzänzungen zu diesen Units, etwa Klassenhelfer, Verschattungen, Namensanpassungen u.ä.

eigene Beispielbezeichner sind:
Code:
Panthrax.MeineBibliothek.Classes
Panthrax.MeineBibliothek.Cryptography.AES
Panthrax.MeineBibliothek.Math
Panthrax.MeineBibliothek.Math.Vectors
Panthrax.MeineBibliothek.Math.Sequences
Panthrax.Cascades.System.Math
Verwendungsbeispiel:
Delphi-Quellcode:
uses
  { Original, dazu evtl. Ergänzungen }
  {$If CompilerVersion >= 23}System.{$IfEnd}Math,
  Panthrax.Cascades.System.Math,
  { Eigene Entwicklungen }
  Panthrax.MeineBibliothek.Math,
  Panthrax.MeineBibliothek.Math.Sequences;


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:20 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-2025 by Thomas Breitkreuz