Einzelnen Beitrag anzeigen

Benutzerbild von brainless
brainless

Registriert seit: 7. Mär 2010
Ort: Fürstenwalde / Cottbus
6 Beiträge
 
Delphi 7 Personal
 
#1

dynamische Array kopieren (letztes Element fehlt)

  Alt 7. Mär 2010, 11:39
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)
~.~ mfg
  Mit Zitat antworten Zitat