Einzelnen Beitrag anzeigen

aogwaba

Registriert seit: 21. Aug 2003
16 Beiträge
 
#7

Re: Auf Dyn.Array klassenübergreifend zugreifen

  Alt 10. Jul 2004, 16:47
in der Hilfe steht:
Zitat:
Wenn X und Y Variablen desselben dynamischen Array-Typs sind, führt die Anweisung X := Y dazu, dass X auf dasselbe Array wie Y zeigt. (Es ist nicht erforderlich, vor dieser Operation Speicher für X zu reservieren.) Im Gegensatz zu Strings und statischen Arrays wird COPY-ON-WRITE nicht für dynamische Arrays verwendet. Deshalb werden diese nicht automatisch kopiert, bevor einem ihrer Elemente ein Wert zugewiesen wird. Beispielsweise hat A[0] nach der Ausführung des folgenden Quelltextes den Wert 2:

var
A, B: array of Integer;
begin
SetLength(A, 1);
A[0] := 1;
B := A;
B[0] := 2;
end;

Wenn A und B statische Arrays wären, hätte A[0] immer noch den Wert 1.
also Call by Reference.
Der Fehler liegt sicher woanders.
  Mit Zitat antworten Zitat