Leider nein,
ich muss mich an einen C++ Code halten. Und da ist das Array so aufgebaut.
Müsste also irgenwie Little-Endian in Big-Endian wandlen. Also ohne wieder eine extra Funktion dafür zu benötigen.
Dann ist
Cardinal nicht der richtige Datentyp! Wenn du weißt, daß der Wert als Big-Endian-Cardinal abgespeichert ist, dann kannst du ihn eben nicht als Little-Endian-Cardinal definieren.
Vielleicht hilft dies ja:
Delphi-Quellcode:
type
TCardinalRec = record
private
function GetCardinal: Cardinal;
procedure SetCardinal(const Value: Cardinal);
public
_Byte : packed Array[0..3] of Byte;
property _Cardinal: Cardinal read GetCardinal write SetCardinal;
end;
Die beiden Methoden musst du natürlich noch passend implementieren.