Ich bezweifle, dass das mit einem Call By Value so funktioniert wie gedacht.
Vielleicht liege ich ja falsch, aber werden Arrays nicht immer call-by-reference übergeben.
Egal ob es sich um ein statisches oder dynamisches handelt.
Grüße
Klaus
Ohne zu wissen, wie es in Delphi wirklich gehandhabt wird, weiß ich, wie das in anderen Sprachen (Java, C) gemacht wird: Bei einem Array wird immer einer Referenz übergeben (alles andere wäre fatal: man stelle sich vor, ein Array der Größe 1000x1000 müsste bei einem Methodenaufruf jedesmal komplett auf den Stack kopiert werden...). Allerdings handelt es sich dabei trotzdem um eine Call-By-Value-Semantik und NICHT um Call-by-Reference! Grund: Wenn ich dem Parameter ein "neues" Array zuweise (und nicht den "Inhalt" des alten Arrays verändere), dann ändert sich beim Aufrufer nichts.
lg
Edit:
Mir fällt gerade ein: In C gibt es m.W.n. sogar einen "Trick", wie man den Compiler wirklich dazu bringen kann, das Array auf den Stack zu kopieren, und zwar, indem man das Array in einen struct einbettet...