Einzelnen Beitrag anzeigen

Brüggendiek

Registriert seit: 13. Dez 2002
Ort: Dortmund
275 Beiträge
 
Delphi 5 Standard
 
#15
  Alt 27. Jan 2003, 18:55
Hallo nochmal!

Zitat von Luckie:
Geht das nicht:
Code:
List2 := List1;
Das geht definitiv nicht - jedennfalls nicht so, wie man sich das normalerweise wünscht! Dann sind nämlich beide Felder dasselbe und Änderungen am einen betreffen auch das andere!
Dynamische Arrays sind (wie Strings) Pointer. Mit Deiner Zuweisung werden beide Pointer auf dasselbe Array gesetzt - und dazu muß List2 nicht einmal initialisiert sein!!!

Es bleibt allerdings dabei, daß ich das hier vorhandene Problem nicht nachvollziehen kann.
Die einzig mögliche Ursache ist, daß List1 4 statt 5 Elemente hat.

Mein Testcode, ganz schnell zusammengeklopft:
Code:
var a,b:array of integer;
p:byte;

begin
setlength(a, 5);
setlength(b, 5);

for p:=0 to High (a) do
begin
a[p]:=random (100);
end;

for p:=0 to High (a) do
begin
b[p] := a[p];
end;


end;
Da enthalten beide Felder dann dieselben 5 Werte.

Gruß

Dietmar Brüggendiek
Dietmar Brüggendiek
  Mit Zitat antworten Zitat