Registriert seit: 11. Apr 2009
557 Beiträge
Delphi 12 Athens
|
Pointer zu Word
7. Apr 2020, 21:29
Ich habe hier ein Problem, das ich nicht verstehe. Ich habe hier einen untypisierten Pointer, von dem ich weiß, dass er auf eine Adresse zeigt, ab der ein UInt16 gespeichert ist. Ich weiß auch, dass ich dort einen Wert zwischen 0 und 8 zu erwarten habe. Bei zwei Testdateien ist Endian einmal Intel und einmal Motorola.
Mir gelingt es aber nicht, im Debugger den korrekten Wert zu ermitteln. UInt16(Ptr) ergibt bei jedem Durchlauf andere, beliebige Werte. PAnsiChar(ptr) ergibt bei zwei Dateien die quasi richtigen Werte #1 oder #6; aber bei anderen Variablen mit gleichem Datentyp, die typischerweise vierstellige Werte haben, völligen Blödsinn.
Wie macht man's richtig?
|