Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Registry ReadBinaryData Problem (https://www.delphipraxis.net/118527-registry-readbinarydata-problem.html)

jbg 10. Aug 2008 21:40

Re: Registry ReadBinaryData Problem
 
Ich würde wenn schon "string" als Puffer benutzt wird, diesen explizit als "AnsiString" deklarieren, vor allem im Hinblick auf das (wohl) kurz vor dem Release stehende Delphi 2009, bei dem "string" = "UnicodeString" ist und somit "SizeOf(Byte) = SizeOf(Char)" nicht mehr zutrifft.

Darkface 10. Aug 2008 22:38

Re: Registry ReadBinaryData Problem
 
Hi und danke Toms, es scheint das dein Code das richtige macht, aber wenn ich ihn ausführe dann ist außer den Dateinamen auf meinem Desktop doch alles ziemlich kaudawelsch... liegt das am Code oder ist das eben von windows so(was ich nicht ganz glaube weil dort eigentlich icon positionen auf dem desktop gespeichert sein sollten, ich aber nicht wirklich zahlen lesen kann :D...

Darkface 11. Aug 2008 20:38

Re: Registry ReadBinaryData Problem
 
push? :D hoffe erlaubt ^^

toms 12. Aug 2008 19:15

Re: Registry ReadBinaryData Problem
 
Frage: Warum möchtest du die Icon Positionen aus der Registry auslesen und nicht gleich direkt die Icon Positionen ermitteln?

Darkface 12. Aug 2008 21:40

Re: Registry ReadBinaryData Problem
 
Weil ich bis jetzt für den einzigen weg hielt... aber das auslesen ist ja nur die eine seite, die andere fast wichtigere Seite ist auch das verändern... aber um zu wissen was ich verändere muss ich auch wissen was da ist. gibt es denn einen weg dies zu bewerkstelligen ohne den "umweg" über die regestry...?

toms 13. Aug 2008 04:49

Re: Registry ReadBinaryData Problem
 
Zitat:

Zitat von Darkface
Weil ich bis jetzt für den einzigen weg hielt..

Wurde die nicht eine andere Möglichkeit vorgeschlagen :roll:

Darkface 13. Aug 2008 12:43

Re: Registry ReadBinaryData Problem
 
Du meinst jetzt aber nicht LuckieDIPs? ^^ Was mit dieser möglichkeit ist schrieb ich auf der selben Seite ^^...

Tyrael Y. 13. Aug 2008 12:56

Re: Registry ReadBinaryData Problem
 
Also mal zur Erklärung, was dir die Leute sagen wollen.

Stell dir vor die hexadezimale Darstellung deiner Daten wäre folgendes.

hexadezimal: 54 45 53 54

Je nach dem wie du diese Daten jetzt interpretierst kommt was anderes heraus.
Nimmt du zB. an,

- daß jedes Byte ein Buchstabe ist, dann heisst das oben TEST
- daß dies eine Integer Zahl ist kommt 1413829460 heraus
- daß jeweils 2 byte eine Zahl sind kommt 21573 und 21332 heraus
- usw.

Wie du siehst kann man Binärdaten verschieden interpretieren.
Deine Aufgabe ist es rauzufinden, wie die Daten in diesem Binärstrom zu interpretieren sind.

shadowman 1. Nov 2011 08:16

AW: Re: Registry ReadBinaryData Problem
 
Hallo,

nach dem Umstieg auf Delphi XE hatte ich auch ein Problem mit ReadBinaryData. Die Werte wurden nicht mehr korrekt ausgelesen. Auf der Suche nach der Ursache (bzw. Lösung, denn die URsache schien klar zu sein) bin ich auf diesen Thread gestoßen.

Dieser Hinweis hier

Zitat:

Zitat von jbg (Beitrag 811510)
Ich würde wenn schon "string" als Puffer benutzt wird, diesen explizit als "AnsiString" deklarieren, vor allem im Hinblick auf das (wohl) kurz vor dem Release stehende Delphi 2009, bei dem "string" = "UnicodeString" ist und somit "SizeOf(Byte) = SizeOf(Char)" nicht mehr zutrifft.

löste das Problem, allerdings frage ich mich, ob es für eine Unicode-Anwendung "gut" ist, mit AnsiStrings zu arbeiten. Es klingt ja auch so, dass die Lösung mit einem (Ansi)String-Buffer generell nicht unbedingt die beste ist.

Welche "stabile" Alternativen hat man sonst noch, wenn AnsiString keine gute Lösung ist?

DeddyH 1. Nov 2011 08:27

AW: Registry ReadBinaryData Problem
 
Wie wäre es denn mit PByte? Für die Interpretation der Daten musst Du allerdings später selber sorgen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:55 Uhr.
Seite 2 von 3     12 3      

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