Hallo.
Das wäre in so fern vorteilhaft, da es dann nur 1 Lösung gäbe.
Andererseits verursacht dieser Code eine Compilerwarnung, sobald ein Benutzer einen HKEY_* (Typ HKEY = LongWord) aus der Windows.pas setzen will.
TRegistry2.Create.RootKey := HKEY_LOCAL_MACHINE;
würde also "Konstantenausdruck verletzt untere Grenze" verursachen. Auch wenn diese Warnung harmlos ist, kommt es für den Endanwender schon ein wenig seltsam rüber. Wenn ich eine Drittanbieterkomponente verwende und ich bei Benutzung Warnungen erhalte, muss ich davon ausgehen, dass entweder ich oder der
VCL-Entwickler einen Fehler gemacht hat. Deswegen wäre das ein wenig verwirrend, oder?
Zu deinem Edit:
TRootKey = 0..4294967295; // LongWord
bringt leider keine Änderung. Es steht immer noch eine Zahl im
OI und eigene Ident-Werte in String-Form werden nciht angenommen.
Gruß
blackdrake