Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi TRegistry.Create Konstantenausdruck verletzt untere Grenzen (https://www.delphipraxis.net/193582-tregistry-create-konstantenausdruck-verletzt-untere-grenzen.html)

Codehunter 17. Aug 2017 08:22

TRegistry.Create Konstantenausdruck verletzt untere Grenzen
 
Moin!
Delphi-Quellcode:
var R: TRegistry;
begin
  R:= TRegistry.Create(HKEY_CURRENT_USER); // <-- Konstantenausdruck verletzt untere Grenzen
end;
Mach ich da jetzt irgendwo einen Denkfehler?

Grüße
Cody

Nachtrag: Nur wenn ich als Target 64 Bit angebe.

borstenei 17. Aug 2017 08:27

AW: TRegistry.Create Konstantenausdruck verletzt untere Grenzen
 
R:= TRegistry.Create;
R.RootKey := HKEY_CURRENT_USER;

TiGü 17. Aug 2017 08:44

AW: TRegistry.Create Konstantenausdruck verletzt untere Grenzen
 
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));

Codehunter 17. Aug 2017 13:57

AW: TRegistry.Create Konstantenausdruck verletzt untere Grenzen
 
Zitat:

Zitat von TiGü (Beitrag 1378906)
Die Konstruktoren von TRegistry hast du dir angeschaut?

Schande, schande... :pale:

KEY_READ natürlich und nicht HKCU ^^

Dabei ist noch nicht mal Freitag. Weia.... :lol:


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:17 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz