Forum: Object-Pascal / Delphi-Language
by Peter1999,
11. Mär 2013
Einmal musst du die Schleife trotzdem durchlaufen, denn Copy kopiert wie gesagt immer nur eine Dimension auf einmal.
type TIntArr2D = array of array of Integer;
function CopyIARR2D(aIArr: TIntArr2D): TIntArr2D;
var i: Integer;
begin
Result := copy(aIArr);
for i := 0 to high(Result) do
Forum: Object-Pascal / Delphi-Language
by Peter1999,
7. Mär 2013
NEIN!
Copy kopiert immer nur EINE Dimension!
Wenn man ein mehrdimensionales Array mit Copy kopiert erhält man also nur eine Kopie der Zeiger auf die 2. Dimension.
Folglich bewirkt eine Änderung der Werte in der Kopie auch eine Änderung der Werte im Original!
Um das mehrdimensionale Array zu kopieren musst du dich über eine Schleife und alle Dimensionen durcharbeiten!
var a,b: array of...