Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.071 Beiträge
 
Delphi 12 Athens
 
#2

AW: Ungültige Typumwandlung mit Pointer

  Alt 9. Apr 2012, 13:57
TempPointer := PPointer(@ConvertArray2)^;

Aber du solltest aufpassen, denn im 64-Bit-Compiler wird es da Probleme mit geben,


Delphi-Quellcode:
var
  ConvertArray2: Array[0..3] of AnsiChar;
  ConvertPointer2: Pointer absolute ConvertArray2; // damit erspart man sich die Zuweisung, da Beide den selben Inhalt haben
  {$IF SizeOf(ConvertPointer2) <> SizeOf(ConvertArray2)}
    {$MESSAGE Fatal 'Konvertierung nicht möglich'}
  {$IFEND}
begin

[edit]
Halt, falsch.

Das Problem ist, daß Char nun 2 Byte ist ... 8 Byte (4*Char) <> 4 Byte (32 Bit-Pointer)
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu ( 9. Apr 2012 um 14:03 Uhr)
  Mit Zitat antworten Zitat