Einzelnen Beitrag anzeigen

TiGü

Registriert seit: 6. Apr 2011
Ort: Berlin
3.060 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: TRegistry.Create Konstantenausdruck verletzt untere Grenzen

  Alt 17. Aug 2017, 08:44
Die Konstruktoren von TRegistry hast du dir angeschaut?

Delphi-Quellcode:
constructor TRegistry.Create;
begin
  RootKey := HKEY_CURRENT_USER;
  FAccess := KEY_ALL_ACCESS;
  LazyWrite := True;
end;

constructor TRegistry.Create(AAccess: LongWord);
begin
  Create;
  FAccess := AAccess;
end;
Abgesehen davon, das man im überladenden Konstruktor nicht den Zugriffsschlüssel setzt, ist es kein Wunder das da eine W1012 kommt.
Mit aktivierten Range Check Error hättest du so auch eine Exception erhalten, da Access als LongWord definiert ist.

Delphi-Quellcode:
  HKEY = type UINT_PTR;
...

const
{ Reserved Key Handles. }
...
  {$EXTERNALSYM HKEY_CURRENT_USER}
  HKEY_CURRENT_USER = HKEY(Integer($80000001));
  Mit Zitat antworten Zitat