Einzelnen Beitrag anzeigen

Benmik

Registriert seit: 11. Apr 2009
542 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: Vorzeichenbehaftete Zahlen und Endianess

  Alt 22. Jul 2020, 13:38
...dann solltest/mußt DU den Speicher reservieren und dort den Inhalt des Arrays reinkopieren.
Sekunde, der Speicher wurden doch mit ArrNum := [00,00,00,08]; reserviert. Und dass die Variable mit der Prozedur ins Nirwana geht, ist doch OK; die Prozedur geht ja noch ewig weiter und am Ende wird die Variable nicht mehr gebraucht.

Deine Hinweise mit var, OUT etc. sind natürlich sehr gut; ich kenne das alles, bin aber oft zu faul/träge/gedankenlos/... . Bei var vergesse ich immer, wann nötig und wann nicht: Ist TBytes nicht ein Pointer und braucht kein var ? Es gibt hier irgendwo eine Liste, die müsste ich mir mal an einen guten Ort kopieren.

EDIT: Jupp,var wäre nicht nötig, ist aber vielleicht gut zur Erinnerung. So besser?
Delphi-Quellcode:
procedure SwapArray(var Arr:TBytes);
var i,n:integer; TempArr:TBytes;
begin
  SetLength(TempArr,Length(Arr));
  Move(Arr[0],TempArr[0],Length(Arr));
  n := Length(TempArr) - 1;
  For i := 0 to n do
    Arr[n - i] := TempArr[i];
end;

Geändert von Benmik (22. Jul 2020 um 13:57 Uhr)
  Mit Zitat antworten Zitat