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.