Wobei du in Big2Little32R unnötig viel umkopierst.
Und da du sowieso alle Bytes wieder überschreibst, muß es auch nicht initialisiert werden (wert=0)
Delphi-Quellcode:
function Big2Little32R(ina:tpa4):integer;
type
tLittRec=record
case integer of
2 : (aa: array [0..3] of byte);
end;
var
my : tLittRec absolute Result;
begin
my.aa[0]:=ina[3];
my.aa[1]:=ina[2];
my.aa[2]:=ina[1];
my.aa[3]:=ina[0];
end;
function Big2Little32R(ina:tpa4):integer;
type
tLittRec= array [0..3] of byte;
var
my : tLittRec absolute Result;
begin
my[0]:=ina[3];
my[1]:=ina[2];
my[2]:=ina[1];
my[3]:=ina[0];
end;
function Big2Little32R(ina: tpa4): LongInt;
var
res: tpa4 absolute Result;
begin
res[0] := ina[3];
res[1] := ina[2];
res[2] := ina[1];
res[3] := ina[0];
end;
function Big2Little32R(ina: tpa4): LongInt;
begin
tpa4(Result)[0] := ina[3];
tpa4(Result)[1] := ina[2];
tpa4(Result)[2] := ina[1];
tpa4(Result)[3] := ina[0];
end;
Wobei alle Vier im Prinzip auf's Selbe rauslaufen, also nach dem Kompilieren.