Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Registryproblem (https://www.delphipraxis.net/99774-registryproblem.html)

Matze 17. Sep 2007 16:10

Re: Registryproblem
 
Dann mach doch das, was verlangt ist (kein Konstantenobjekt übergeben):

Delphi-Quellcode:
var
  WertX: Integer;

WertX := 1;

WriteBinaryData('Value-Name-Halt', WertX, SizeOf(dword));
Edit: Du fragst so oft, wie man eine Funktion aufrufst, das solltest du doch langsam können (und sag jetzt nicht, dass du es so gemacht hättest, sondern schreibe nächstes Mal dazu, wie du denkst, würde man das aufrufen. Ich habe immer noch den Eindruck, dir fehlen sämtliche Grundlagen).

Delphi-Quellcode:
if WriteDWORD('Key', 'Name', WertX) then
  // erfolgreich eingetragen

WertX = ReadDWORD('Key', 'Name');
Edit2: In der Funktion, die du nutzt, fehlt übrigens ein Delphi-Referenz durchsuchenCloseKey.

Tommy1988 17. Sep 2007 18:21

Re: Registryproblem
 
Zitat:

dass du es so gemacht hättest,
Du meinst den Aufruf da oben?

Wieso sollte ich den nicht gemacht habe, das habe ich aber!

Ich hab das so gemacht wie ich es nach meinem bisherigen Wissen machen würde.

Matze 17. Sep 2007 18:53

Re: Registryproblem
 
Funktioniert es nun wenigstens?

Tommy1988 17. Sep 2007 19:00

Re: Registryproblem
 
Wenn ich deine Prozedur verwende, und will eine 1 als DWORD eintragen, so trägt er
"01 00 00 00" ein. OK; ist ja richtig.

Aber eine Andere Prozedur tägt folgendes ein:

0x000000001(1)

Die Binärdaten sind identisch. Also kann ich davon ausgehen, dass es das gleiche ist?

Mit dem Binärsystem kenne ich mich leider nicht so doll aus

Edit:
Zitat:

Funktioniert es nun wenigstens?
Ja, ich habe es mir angeguckt, (Deinen Code) und versuche ihn zu verstehen soweit das jetzt
möglich ist.

Matze 17. Sep 2007 19:34

Re: Registryproblem
 
Kann es sein, dass der Schlüssel mit dem Inhalt "01 00 00 00" ein REG_BINARY ist und der mit "0x000000001(1)" ein REG_DWORD?

Tommy1988 17. Sep 2007 20:07

Re: Registryproblem
 
Ups, das sehe ich grade auch. Aber ich dachte diese Prozedur schreibt DWORD's in die Registry und keine Binary's?

Tommy1988 18. Sep 2007 13:18

Re: Registryproblem
 
Ich habe den Fehler gefunden:
Delphi-Quellcode:
Pruefung.WriteBinaryData(Data, Value, SizeOf(dword));
In der Überschrift steht, dass es kein Problem sei damit einen DWORD in die Registry zu schreiben.

Wieso steht dann da "WriteBinaryData(Data [...]"

Da muss doch
Delphi-Quellcode:
Pruefung.Integer(Data, Value);
hin.


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:42 Uhr.
Seite 2 von 2     12   

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