hallo,
ich arbeite seit kurzem mit
dynamischen Arrays (vorher immer mit statischen) - also bin Anfänger
- und nun wollte ich ein komplettes Array in ein anderes kopieren. Mein erster Ansatz mit:
Delphi-Quellcode:
procedure TForm_liste.BtnSortClick(Sender: TObject);
var i, j: Integer;
// ...
dynArray1: array of TIrgendwas;
dynArray2: array of TIrgendwas;
begin
SetLength(dynArray1, 200); //Länge des dynArray's
SetLength(dynArray2, 200); //Länge des dynArray's
// irgendwelche Werte werden dynArray1 zugewiesen ...
FOR i := 1 TO high(dynArray1) DO
begin
dynArray2[i] := dynArray1[i];
end;
hat nicht funktioniert..
habe dann gegooglet und die Funktion Copy(dynArray) gefunden:
Delphi-Quellcode:
// Array kopieren
dynArray2 := Copy(dynArray1, 0, high(dynArray1));
wenn ich dann aber die beiden Arrays mit:
Delphi-Quellcode:
FOR i := 1 TO high(dynArray1) DO
begin
ShowMessage(dynArray1[i].textinhalt + ' vs. ' + dynArray2[i].textinhalt);
end;
vergleiche, dann steht beim letzten Element immer "text123 vs. [komische Zeichen]"
also scheinbar wird das letzte Element nicht kopiert ?!
hat jemand ein Tipp, was ich falsch mache?
oder eine andere/bessere Möglichkeit dyn. Arrays zu kopieren? (aber muss eine richtige Kopie sein, nicht nur Reference)