Ich habe den nächsten Code in C#. Ich muss es in Delphi umwandeln, aber ich bin in Array.copy von C# stecken.Array.copy von C# nach Delphi
Vielleicht bin ich müde und sehe das Offensichtliche nicht. Meine Array-Kopierfunktion in Delphi gibt immer leere Bytes zurück.
Hier ist, was ich versuche:
C# code:
byte[] buffer = new byte[200];
byte[] tmpArray = new byte[16];
int lenToCopy = 4;
//fill buffer here
buffer=ReadBuffer();
Array.Copy(buffer, 2, tmpArray, 5, lenToCopy);
Delphi-Code:
var lenToCopy:integer;
temparray, buffer:TBytes;
....
begin
lenToCopy := 4;
setlength(tmpArray,16);
fillchar(tmpArray[0],length(tmpArray),0);
buffer:=GetBuffer();// buffer is ok here
tmpArray:=ArrayCopy(buffer, 2, tmpArray, 5, lenToCopy); //here is the problem: I get an empty tmpArray result
end;
function ArrayCopy(src:TBytes;ixsource:integer;dest:TBytes;ixdest:integer;len:integer):TBytes;
begin
SetLength(result, len+ixdest);
Move(src[ixsource],dest[ixdest],len);
result:=dest;
end;
SetLength (dest, len + ixdest); –
Dalija Prasnikar. Vielen Dank. Es ist ein guter Vorschlag. –