Est-ce que vous voyez une différence entre
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
procedure TC_Differentielle.clone(source : TDoubleDynArray;var destination : TDoubleDynArray);
  var i : integer;
begin
  SetLength(destination,0); //Effecement de la liste
  SetLength(destination,length(source)); //Réallocation
  for i:=0 to length(source)-1 do
    destination[i] := source[i]; //Affectation
end;
et
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
procedure TC_Differentielle.clone(source : TDoubleDynArray;var destination : TDoubleDynArray);
  var i : integer;
begin
  SetLength(destination,0); //Effacement de la liste
  for i:=0 to length(source)-1 do
    begin
      SetLength(destination,length(destination)+1);//Réallocation progressive
      destination[i] := source[i];//Affectation
   end;
end;
Hormis bien sûr le fait que la deuxième solution est plus lente et un petit peu stupide.

Car en fait, si j'utilise la deuxième solution, j'ai des affectations foireuseuses. A la sortie, je me retrouve avec la liste qui contient n'importe quoi.

Est-ce normal ?