Delphi-Quellcode:
Type TByteArray = packed Array of Byte;
TIntegerArray = packed Array of Integer;
PIntegerArray = ^TIntegerArray;
Var BA: TByteArray;
PIntegerArray(@BA)^
Also
PIntegerArray(@BA)^[0] für'n ersten Integer.
LENGTH des IntegerArrays ist dann natürlich
Length(BA) div 4 und
nicht Length(PIntegerArray(@BA)^)
Wenn du aber ein statisches ByteArray hast, dann auch so
Delphi-Quellcode:
Type TMyArray = packed Record
Case Integer of
0: (B: packed Array[0..Len-1] of Byte);
1: (I: packed Array[0..Len div 4-1] of Integer);
End;
Var MyArray: TMyArray;
Über
MyArray.I kommst du dann an die Integerversion und mit
MyArray.B die ByteVersion.