AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) TRegistry Unterschied zwischen Delphi 7 und 2009
Thema durchsuchen
Ansicht
Themen-Optionen

TRegistry Unterschied zwischen Delphi 7 und 2009

Ein Thema von Shark99 · begonnen am 6. Mai 2015 · letzter Beitrag vom 11. Mai 2015
 
Shark99

Registriert seit: 16. Mai 2007
403 Beiträge
 
#1

TRegistry Unterschied zwischen Delphi 7 und 2009

  Alt 6. Mai 2015, 07:36
Hallo!

ich bin dabei ein Projekt von Delphi 7 auf Delphi 2009 umzuschreiben.

Es crasht und ich merkte es liegt am Zugriff bei TRegistry.

Der Code ist sehr einfach:
Delphi-Quellcode:
FRegistry := TRegistry.Create;
FRegistry.RootKey := HKEY_CURRENT_USER;
if FRegistry.OpenKey('\Software\Vendor\Productname', True) then
begin
  // Alles OK, Key war schon da, oder wurde erstellt
  ...
end else
begin
  // Fehler
  ...
end;
Das Klappt unter Delphi 7 wunderbar (Exe funktioniert unter Win 7 x64 und Win 8.1 x64, und zwar auch ohne Admin-Rechte). Der Key ist schon vorhanden und wird geöffnet. Wenn ich jedoch mit Delphi 2009 kompiliere und ausführe wird der Key nicht geöffnet, sondern der Code bei // Fehler ausgeführt.

Wenn ich nun Testweise TRegistry.Create mit TRegistry.Create(KEY_READ) ersetze wird der Key hingegen geöffnet. Das Problem ist aber leider nicht gelöst, weil das FRegistry Objekt diesen Key nicht nur ausliest, sondern beim Programmbeenden auch beschreibt.

Wie sind die TRegistry.Create() Parameter damit ich HKEY_CURRENT_USER sowohl lesen, als auch beschreiben kann?

Ich versuchte es kurz mit KEY_ALL_ACCESS versucht. Key wird damit nichtmal geöffnet (wieso nicht?). Als nächstes KEY_READ or KEY_WRITE, Key wird auch nicht geöffnet.

Neuer versuch: KEY_READ AND KEY_WRITE, Key wird geöffnet, aber der danach versuchte ReadBool() liefert ein falsches Ergebnis (mit nur KEY_READ das Richtige).

Bin leider mit meinem Latein am Ende.
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:50 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