Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.475 Beiträge
Delphi 12 Athens
|
AW: Deserialisierung von einem Integer-Wert
13. Jan 2016, 15:31
Das kann so nicht funktionieren.
Ein string[4] in Delphi 5 stellt eine Speicherstruktur von 5 Byte dar - 1 für die Länge und vier Byte für die Daten. Aus dem Copy entsteht in s ein String der Länge 4 mit dem Inhalt "00 00 12 34". Der Speicherbereich sieht also so aus: 04 00 00 12 34
Du castest einen Pointer auf s in einen PInteger. Damit werden die ersten 4 Bytes des Bereichs als Integer (übrigens Little Endian) interpretiert. 04 00 00 12
entspricht somit $12000004 = 301989892.
|