Einzelnen Beitrag anzeigen

Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
8.819 Beiträge
 
Delphi 10.4 Sydney
 
#7

AW: Units mit gleichem Namen (System.Hash und Hash)

  Alt 16. Sep 2016, 13:03
Heißt das, daß in dem Project dann alle Namespace-Prefixes nicht mehr verwendet werden (können), außer System also auch VCL, Winapi etc?
Natürlich kann man auch nur System rausnehmen, aber das wird im Falle eines Konflikts (s.u.) auch nicht gehen.

Das sollte kein Problem sein, da mein Hash nur eine eigene Unit BTypes benutzt (für Typdefinitionen), BTypes selbst beutzt keine anderen Units.
Das kann aber für andere Bibliotheken, die der Anwender verwendet, trotzdem relevant sein. Es gibt einige Libraries, die intern nur die alten Unitnamen (z.B. SysUtils) verwenden, um den Sourcecode kompatibel mit älteren Delphi-Versionen zu halten. Die Verwendung von Units einer solchen Library erfordert aber zwingend den Einsatz von Gültigkeitsbereichsnamen.

Wenn deine Unit nun diesen Einsatz (und sei es nur für System) verbietet, gibt es eine Kollision.

Um das Problem dauerhaft und ohne Klimbzüge des Anwenders aus der Welt zu schaffen, plädiere ich daher für die Umbenennung deiner Unit. Du kannst ja die Compilierfähigkeit der alten Projekte durch einen geeigneten Unit-Alias wieder herstellen.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat