Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.071 Beiträge
Delphi 12 Athens
|
AW: Ungültige Typumwandlung mit Pointer
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)
|